Running n8n in queue mode on Google Cloud Run - Problem with worker container

What is the error message (if any)?

When I start a container with “n8nio/n8n worker”, I get this error in GCP Cloud Run:

Cloud Run error: The user-provided container failed to start and listen on the port defined provided by the PORT=8080 environment variable. Logs for this revision might contain more information.

Information on your n8n setup

  • n8n version: 0.191.0
  • Database you’re using: PostgreSQL
  • Running n8n with the execution process [own(default), main]: own/queue
  • Running n8n via [Docker, npm, n8n.cloud, desktop app]: Official Docker images on Google Cloud Run.

Recently Google Cloud Run started supporting always-on CPU allocated.

So, I plan use n8n in queue mode there with this setup:

One container running Official Docker image “n8nio/n8n” with command “n8n” in queue mode.

One container with auto-scaling running Official Docker image “n8nio/n8n” with command “n8n worker”.

The first container is running ok.

The second container for workers start running and executing jobs ok too.

But, before deployment finish, GCP Cloud Run show a error about failed on listen PORT indicated.

I’ve tried with different ports (5678, 8080) without succes.

Is there any port to listen when start n8n in worker mode?

Hey @rduarte,

Could you try setting QUEUE_HEALTH_CHECK_ACTIVE on your worker node and set your cloud run port to 5678 that should get something listening although if possible you may need to monitor the /healthz endpoint on the worker.

2 Likes

Hey @rduarte,

I take it this worked then? Did you need to do some magic to support the uri or was just enabling it enough?

Hi, @jon.

It’s works like magic :partying_face:

When QUEUE_HEALTH_CHECK_ACTIVE is active the port 5678 can be checked by Cloud Run and the deployment works correctly.

Thanks!

2 Likes