pub fn production_config() -> std::result::Result<crate::WorkerConfig, String> {
use celers_worker::WorkerConfigBuilder;
WorkerConfigBuilder::new()
.concurrency(num_cpus::get())
.poll_interval_ms(1000)
.graceful_shutdown(true)
.build()
}
pub fn high_throughput_config() -> std::result::Result<crate::WorkerConfig, String> {
use celers_worker::WorkerConfigBuilder;
let concurrency = num_cpus::get() * 4;
WorkerConfigBuilder::new()
.concurrency(concurrency)
.poll_interval_ms(100)
.build()
}
pub fn low_latency_config() -> std::result::Result<crate::WorkerConfig, String> {
use celers_worker::WorkerConfigBuilder;
WorkerConfigBuilder::new()
.concurrency(num_cpus::get() * 2)
.poll_interval_ms(50)
.build()
}
pub fn memory_constrained_config() -> std::result::Result<crate::WorkerConfig, String> {
use celers_worker::WorkerConfigBuilder;
WorkerConfigBuilder::new()
.concurrency(num_cpus::get())
.poll_interval_ms(2000)
.build()
}
pub fn cpu_bound_config() -> std::result::Result<crate::WorkerConfig, String> {
use celers_worker::WorkerConfigBuilder;
WorkerConfigBuilder::new()
.concurrency(num_cpus::get())
.poll_interval_ms(500)
.build()
}
pub fn io_bound_config() -> std::result::Result<crate::WorkerConfig, String> {
use celers_worker::WorkerConfigBuilder;
let concurrency = num_cpus::get() * 4;
WorkerConfigBuilder::new()
.concurrency(concurrency)
.poll_interval_ms(200)
.build()
}
pub fn balanced_config() -> std::result::Result<crate::WorkerConfig, String> {
use celers_worker::WorkerConfigBuilder;
let concurrency = num_cpus::get() * 2;
WorkerConfigBuilder::new()
.concurrency(concurrency)
.poll_interval_ms(500)
.build()
}
pub fn development_config() -> std::result::Result<crate::WorkerConfig, String> {
use celers_worker::WorkerConfigBuilder;
WorkerConfigBuilder::new()
.concurrency(2)
.poll_interval_ms(1000)
.build()
}