perf: improve worker and storage throughput
Some checks failed
CI / verify (push) Has been cancelled
Some checks failed
CI / verify (push) Has been cancelled
This commit is contained in:
@@ -14,6 +14,7 @@ pub struct Config {
|
||||
|
||||
pub redis_url: String,
|
||||
|
||||
pub worker_task_concurrency: u32,
|
||||
pub worker_concurrency: u32,
|
||||
pub image_processing_concurrency: u32,
|
||||
|
||||
@@ -62,11 +63,16 @@ impl Config {
|
||||
let redis_url = env_string("REDIS_URL")
|
||||
.ok_or_else(|| AppError::new(ErrorCode::InvalidRequest, "缺少环境变量 REDIS_URL"))?;
|
||||
|
||||
let worker_concurrency = env_u32("WORKER_CONCURRENCY").unwrap_or_else(|| {
|
||||
std::thread::available_parallelism()
|
||||
.map(|v| v.get() as u32)
|
||||
.unwrap_or(4)
|
||||
});
|
||||
let worker_task_concurrency = env_u32("WORKER_TASK_CONCURRENCY")
|
||||
.filter(|value| *value > 0)
|
||||
.unwrap_or(4);
|
||||
let worker_concurrency = env_u32("WORKER_CONCURRENCY")
|
||||
.filter(|value| *value > 0)
|
||||
.unwrap_or_else(|| {
|
||||
std::thread::available_parallelism()
|
||||
.map(|v| v.get() as u32)
|
||||
.unwrap_or(4)
|
||||
});
|
||||
let image_processing_concurrency = env_u32("IMAGE_PROCESSING_CONCURRENCY")
|
||||
.filter(|value| *value > 0)
|
||||
.unwrap_or_else(|| {
|
||||
@@ -126,6 +132,7 @@ impl Config {
|
||||
database_url,
|
||||
database_max_connections,
|
||||
redis_url,
|
||||
worker_task_concurrency,
|
||||
worker_concurrency,
|
||||
image_processing_concurrency,
|
||||
jwt_secret,
|
||||
|
||||
Reference in New Issue
Block a user