1JOBS_RESULTS_RETENTION: int = 60 * 60 * 24 * 7 # One week
2JOBS_HEARTBEAT_INTERVAL: int = 60 # Seconds between worker heartbeat writes
3JOBS_HEARTBEAT_TIMEOUT: int = (
4 60 * 5
5) # Seconds without a heartbeat before a worker is considered dead and its in-flight jobs marked LOST
6JOBS_MIDDLEWARE: list[str] = [
7 "plain.jobs.middleware.AppLoggerMiddleware",
8]
9JOBS_SCHEDULE: list[tuple[str, str]] = []
10JOBS_WORKER_MAX_PROCESSES: int | None = None
11JOBS_WORKER_MAX_JOBS_PER_PROCESS: int | None = None
12JOBS_WORKER_MAX_PENDING_PER_PROCESS: int = 10
13JOBS_WORKER_STATS_EVERY: int = 60