Settings¶
AsyncMQ settings come from a class path defined by ASYNCMQ_SETTINGS_MODULE.
Default: asyncmq.conf.global_settings.Settings.
Basic Setup¶
# myapp/settings.py
from asyncmq.backends.redis import RedisBackend
from asyncmq.conf.global_settings import Settings
class AppSettings(Settings):
backend = RedisBackend("redis://localhost:6379/0")
worker_concurrency = 4
scan_interval = 1.0
logging_level = "INFO"
Important Fields¶
backend: backend instance used by default when no backend is passed explicitly.worker_concurrency: default worker concurrency for CLI/Worker.scan_interval: delayed/repeatable scanner interval.enable_stalled_check: enable heartbeat writes for active jobs.stalled_check_interval,stalled_threshold: values used by stalled recovery scheduler.sandbox_enabled,sandbox_default_timeout,sandbox_ctx: subprocess sandbox execution.heartbeat_ttl: worker heartbeat freshness window (worker listing/visibility).tasks: module package paths for worker autodiscovery.json_dumps,json_loads: custom JSON serialization hooks.worker_on_startup,worker_on_shutdown: lifecycle hooks.secret_key: used by dashboard session config.
Backend-Specific Fields¶
Postgres:
- asyncmq_postgres_backend_url
- asyncmq_postgres_pool_options
- postgres_jobs_table_name, postgres_repeatables_table_name, postgres_cancelled_jobs_table_name, postgres_workers_heartbeat_table_name
MongoDB:
- asyncmq_mongodb_backend_url
- asyncmq_mongodb_database_name
Environment Overrides¶
Settings fields are read from uppercase environment variables when possible.
Examples:
For complex objects (like backend instances), use a custom settings class instead of env-only overrides.