[Docker / On-Premise] Workflows stay stuck in “Queued” state — worker not processing jobs

Hi everyone :waving_hand:

I’m running n8n on-premise with Docker Compose (PostgreSQL + Redis + queue mode + a dedicated worker container).
The main n8n instance correctly enqueues jobs, but no executions ever start — workflows remain stuck in the “Queued” state.

Both containers (n8n and n8n-worker) are up and connected to the same Redis and Postgres instances.
Redis is reachable (PONG), but the worker never picks up the jobs.

I suspect the worker is not correctly registered or not consuming from the queue.


What is the error message (if any)?

There is no explicit error in the main n8n logs — it just says:

Enqueued execution 390 (job 280)
Enqueued execution 393 (job 283)
Enqueued execution 395 (job 285)

And in the worker logs, I either get:

2025-10-22T11:14:15.005Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:14:15.027Z | debug | Execution added {"executionId":"409","file":"active-executions.js","function":"add"}
2025-10-22T11:14:15.030Z | info | Enqueued execution 409 (job 299) {"scopes":["scaling"],"executionId":"409","jobId":"299","file":"scaling.service.js","function":"addJob"}

22T11:14:30.005Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:14:30.006Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:14:30.027Z | debug | Execution added {"executionId":"411","file":"active-executions.js","function":"add"}
2025-10-22T11:14:30.029Z | info | Enqueued execution 411 (job 301) {"scopes":["scaling"],"executionId":"411","jobId":"301","file":"scaling.service.js","function":"addJob"}
(node:7) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 global:completed listeners added to [Queue]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)
(node:7) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 global:failed listeners added to [Queue]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
2025-10-22T11:14:44.322Z | debug | Querying database for waiting executions {"scopes":["waiting-executions"],"file":"wait-tracker.js","function":"getWaitingExecutions"}

22T11:14:45.004Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:14:45.005Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:14:45.021Z | debug | Execution added {"executionId":"412","file":"active-executions.js","function":"add"}
2025-10-22T11:14:45.026Z | info | Enqueued execution 412 (job 302) {"scopes":["scaling"],"executionId":"412","jobId":"302","file":"scaling.service.js","function":"addJob"}

22T11:15:00.004Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:15:00.005Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:15:00.021Z | debug | Execution added {"executionId":"415","file":"active-executions.js","function":"add"}
2025-10-22T11:15:00.023Z | info | Enqueued execution 415 (job 304) {"scopes":["scaling"],"executionId":"415","jobId":"304","file":"scaling.service.js","function":"addJob"}

22T11:15:15.005Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:15:15.006Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:15:15.025Z | debug | Execution added {"executionId":"417","file":"active-executions.js","function":"add"}
2025-10-22T11:15:15.029Z | info | Enqueued execution 417 (job 307) {"scopes":["scaling"],"executionId":"417","jobId":"307","file":"scaling.service.js","function":"addJob"}

22T11:15:30.004Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:15:30.005Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:15:30.030Z | debug | Execution added {"executionId":"418","file":"active-executions.js","function":"add"}
2025-10-22T11:15:30.032Z | info | Enqueued execution 418 (job 309) {"scopes":["scaling"],"executionId":"418","jobId":"309","file":"scaling.service.js","function":"addJob"}
2025-10-22T11:15:44.322Z | debug | Querying database for waiting executions {"scopes":["waiting-executions"],"file":"wait-tracker.js","function":"getWaitingExecutions"}

22T11:15:45.004Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:15:45.005Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:15:45.018Z | debug | Execution added {"executionId":"421","file":"active-executions.js","function":"add"}
2025-10-22T11:15:45.021Z | info | Enqueued execution 421 (job 310) {"scopes":["scaling"],"executionId":"421","jobId":"310","file":"scaling.service.js","function":"addJob"}

22T11:16:00.002Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:16:00.003Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:16:00.018Z | debug | Execution added {"executionId":"422","file":"active-executions.js","function":"add"}
2025-10-22T11:16:00.021Z | info | Enqueued execution 422 (job 312) {"scopes":["scaling"],"executionId":"422","jobId":"312","file":"scaling.service.js","function":"addJob"}

22T11:16:15.003Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:16:15.003Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:16:15.024Z | debug | Execution added {"executionId":"424","file":"active-executions.js","function":"add"}
2025-10-22T11:16:15.026Z | info | Enqueued execution 424 (job 314) {"scopes":["scaling"],"executionId":"424","jobId":"314","file":"scaling.service.js","function":"addJob"}

22T11:16:30.004Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:16:30.005Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:16:30.029Z | debug | Execution added {"executionId":"427","file":"active-executions.js","function":"add"}
2025-10-22T11:16:30.031Z | info | Enqueued execution 427 (job 317) {"scopes":["scaling"],"executionId":"427","jobId":"317","file":"scaling.service.js","function":"addJob"}
2025-10-22T11:16:44.322Z | debug | Querying database for waiting executions {"scopes":["waiting-executions"],"file":"wait-tracker.js","function":"getWaitingExecutions"}

22T11:16:45.004Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:16:45.004Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:16:45.027Z | debug | Execution added {"executionId":"428","file":"active-executions.js","function":"add"}
2025-10-22T11:16:45.029Z | info | Enqueued execution 428 (job 318) {"scopes":["scaling"],"executionId":"428","jobId":"318","file":"scaling.service.js","function":"addJob"}

22T11:17:00.004Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:17:00.005Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:17:00.021Z | debug | Execution added {"executionId":"430","file":"active-executions.js","function":"add"}
2025-10-22T11:17:00.024Z | info | Enqueued execution 430 (job 320) {"scopes":["scaling"],"executionId":"430","jobId":"320","file":"scaling.service.js","function":"addJob"}

22T11:17:15.004Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:17:15.005Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:17:15.022Z | debug | Execution added {"executionId":"433","file":"active-executions.js","function":"add"}
2025-10-22T11:17:15.025Z | info | Enqueued execution 433 (job 323) {"scopes":["scaling"],"executionId":"433","jobId":"323","file":"scaling.service.js","function":"addJob"}

22T11:17:30.003Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:17:30.004Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:17:30.021Z | debug | Execution added {"executionId":"434","file":"active-executions.js","function":"add"}
2025-10-22T11:17:30.024Z | info | Enqueued execution 434 (job 324) {"scopes":["scaling"],"executionId":"434","jobId":"324","file":"scaling.service.js","function":"addJob"}
2025-10-22T11:17:44.322Z | debug | Querying database for waiting executions {"scopes":["waiting-executions"],"file":"wait-tracker.js","function":"getWaitingExecutions"}

22T11:17:45.004Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:17:45.005Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:17:45.018Z | debug | Execution added {"executionId":"436","file":"active-executions.js","function":"add"}
2025-10-22T11:17:45.021Z | info | Enqueued execution 436 (job 326) {"scopes":["scaling"],"executionId":"436","jobId":"326","file":"scaling.service.js","function":"addJob"}

22T11:18:00.003Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:18:00.004Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:18:00.024Z | debug | Execution added {"executionId":"439","file":"active-executions.js","function":"add"}
2025-10-22T11:18:00.028Z | info | Enqueued execution 439 (job 329) {"scopes":["scaling"],"executionId":"439","jobId":"329","file":"scaling.service.js","function":"addJob"}

22T11:18:15.006Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:18:15.007Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:18:15.029Z | debug | Execution added {"executionId":"441","file":"active-executions.js","function":"add"}
2025-10-22T11:18:15.032Z | info | Enqueued execution 441 (job 331) {"scopes":["scaling"],"executionId":"441","jobId":"331","file":"scaling.service.js","function":"addJob"}

22T11:18:30.003Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:18:30.004Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:18:30.016Z | debug | Execution added {"executionId":"442","file":"active-executions.js","function":"add"}
2025-10-22T11:18:30.017Z | info | Enqueued execution 442 (job 332) {"scopes":["scaling"],"executionId":"442","jobId":"332","file":"scaling.service.js","function":"addJob"}
2025-10-22T11:18:44.321Z | debug | Querying database for waiting executions {"scopes":["waiting-executions"],"file":"wait-tracker.js","function":"getWaitingExecutions"}

22T11:18:45.005Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:18:45.006Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:18:45.028Z | debug | Execution added {"executionId":"445","file":"active-executions.js","function":"add"}
2025-10-22T11:18:45.032Z | info | Enqueued execution 445 (job 335) {"scopes":["scaling"],"executionId":"445","jobId":"335","file":"scaling.service.js","function":"addJob"}

22T11:19:00.004Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:19:00.005Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:19:00.022Z | debug | Execution added {"executionId":"447","file":"active-executions.js","function":"add"}
2025-10-22T11:19:00.024Z | info | Enqueued execution 447 (job 337) {"scopes":["scaling"],"executionId":"447","jobId":"337","file":"scaling.service.js","function":"addJob"}

22T11:19:15.003Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:19:15.003Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:19:15.022Z | debug | Execution added {"executionId":"448","file":"active-executions.js","function":"add"}
2025-10-22T11:19:15.026Z | info | Enqueued execution 448 (job 338) {"scopes":["scaling"],"executionId":"448","jobId":"338","file":"scaling.service.js","function":"addJob"}

22T11:19:30.004Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:19:30.004Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:19:30.021Z | debug | Execution added {"executionId":"450","file":"active-executions.js","function":"add"}
2025-10-22T11:19:30.024Z | info | Enqueued execution 450 (job 340) {"scopes":["scaling"],"executionId":"450","jobId":"340","file":"scaling.service.js","function":"addJob"}
2025-10-22T11:19:44.322Z | debug | Querying database for waiting executions {"scopes":["waiting-executions"],"file":"wait-tracker.js","function":"getWaitingExecutions"}

22T11:19:45.003Z | debug | Executing cron for workflow {"scopes":["cron"],"workflowId":"LnmWyfFhEgfbk31d","nodeId":"4a0288e4-df57-4af8-a374-62f9994acdc9","cron":"*/15 * * * * *","instanceRole":"leader","file":"scheduled-task-manager.js"}
2025-10-22T11:19:45.004Z | debug | Received trigger for workflow "My workflow 2" {"scopes":["workflow-activation"],"file":"active-workflow-manager.js","function":"emit"}
2025-10-22T11:19:45.027Z | debug | Execution added {"executionId":"452","file":"active-executions.js","function":"add"}
2025-10-22T11:19:45.030Z | info | Enqueued execution 452 (job 343) {"scopes":["scaling"],"executionId":"452","jobId":"343","file":"scaling.service.js","function":"addJob"}

or nothing — it just idles and never processes jobs.


Please share your workflow

It runs every 15 seconds — each time it triggers, the job goes to “Queued” but never executes.


Share the output returned by the last node

No output, since the job never starts.


Information on your n8n setup

  • n8n version: 1.116.2
  • Database: PostgreSQL
  • n8n EXECUTIONS_PROCESS setting: queue
  • Running n8n via: Docker Compose (on-premise)
  • Operating system: Ubuntu Server

Docker Compose excerpt

n8n:
  image: n8nio/n8n:latest
  environment:
    - DB_TYPE=postgresdb
    - DB_POSTGRESDB_HOST=db
    - DB_POSTGRESDB_USER=postgres
    - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
    - DB_POSTGRESDB_DATABASE=postgres
    - EXECUTIONS_MODE=queue
    - QUEUE_BULL_REDIS_HOST=redis
    - QUEUE_BULL_REDIS_PORT=6379
    - N8N_RUNNERS_ENABLED=true
    - OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS=true
  volumes:
    - n8n_storage:/home/node/.n8n

n8n-worker:
  image: n8nio/n8n:latest
  command: n8n worker --concurrency=5
  environment:
    - EXECUTIONS_MODE=queue
    - QUEUE_BULL_REDIS_HOST=redis
    - QUEUE_BULL_REDIS_PORT=6379
    - DB_TYPE=postgresdb
    - DB_POSTGRESDB_HOST=db
    - DB_POSTGRESDB_USER=postgres
    - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
    - DB_POSTGRESDB_DATABASE=postgres
  depends_on:
    - redis
    - n8n

Would appreciate any guidance to identify why the worker does not process queued jobs :folded_hands:
Thanks in advance!

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.