---
name: "celery-worker"
section: "1"
platform: "linux"
package: "celery"
version: "5.5.2-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/celery-worker"
---

# celery-worker(1)

Start worker instance.

## NAME

celery-worker - Start worker instance.

## SYNOPSIS

**celery worker** \[OPTIONS\]

## DESCRIPTION

Start worker instance.

 Examples --------

 $ celery --app=proj worker -l INFO $ celery -A proj worker -l INFO -Q hipri,lopri $ celery -A proj worker --concurrency=4 $ celery -A proj worker --concurrency=1000 -P eventlet $ celery worker --autoscale=10,0

## OPTIONS

- **-n,** --hostname HOSTNAME

  Set custom hostname (e.g., 'w1@%%h').  Expands: %%h (hostname), %%n (name) and %%d, (domain).

- **-D,** --detach

  Start worker as a background process.

- **-S,** --statedb PATH

  Path to the state database. The extension '.db' may be appended to the filename.

- **-l,** --loglevel \[DEBUG\|INFO\|WARNING\|ERROR\|CRITICAL\|FATAL\]

  Logging level.

- **-O,** --optimization \[default\|fair\]

  Apply optimization profile.

- **--prefetch-multiplier** \<prefetch multiplier\>

  Set custom prefetch multiplier value for this worker instance.

- **-c,** --concurrency \<concurrency\>

  Number of child processes processing the queue.  The default is the number of CPUs available on your system.

- **-P,** --pool \[prefork\|eventlet\|gevent\|solo\|processes\|threads\|custom\]

  Pool implementation.

- **-E,** --task-events, --events

  Send task-related events that can be captured by monitors like celery events, celerymon, and others.

- **--time-limit** FLOAT

  Enables a hard time limit (in seconds int/float) for tasks.

- **--soft-time-limit** FLOAT

  Enables a soft time limit (in seconds int/float) for tasks.

- **--max-tasks-per-child** INTEGER

  Maximum number of tasks a pool worker can execute before it's terminated and replaced by a new worker.

- **--max-memory-per-child** INTEGER

  Maximum amount of resident memory, in KiB, that may be consumed by a child process before it will be replaced by a new one.  If a single task causes a child process to exceed this limit, the task will be completed and the child process will be replaced afterwards. Default: no limit.

- **--purge,** --discard

  - **-Q,** --queues COMMA SEPARATED LIST

  - **-X,** --exclude-queues COMMA SEPARATED LIST

  - **-I,** --include COMMA SEPARATED LIST

  - **--without-gossip**

  - **--without-mingle**

  - **--without-heartbeat**

  - **--heartbeat-interval** INTEGER

  - **--autoscale** \<MIN WORKERS\>, \<MAX WORKERS\>

  - **-B,** --beat

  - **-s,** --schedule-filename, --schedule TEXT

  - **--scheduler** TEXT

  - **-f,** --logfile TEXT

  Log destination; defaults to stderr

- **--pidfile** TEXT

  PID file path; defaults to no PID file

- **--uid** TEXT

  Drops privileges to this user ID

- **--gid** TEXT

  Drops privileges to this group ID

- **--umask** TEXT

  Create files and directories with this umask

- **--executable** TEXT

  Override path to the Python executable
