I use the n8n in queue mode with the following settings:
1 main
1 postgresql
1 redis
3 workers
As of version 1.5.1, I noticed that only the main is running the flows and the workers are not running anything.
I use a simple flow for testing and in version 1.4.1 I can clearly see the workers working, but from version 1.5.1 only the main work.
I also performed tests with versions 1.7.1, 1.8.2 and 1.9.0 and none of the workers worked.
Have there been any changes to how queue mode works that I missed, or any changes to the way workers work?
What is the error message (if any)?
We can see in the image below the cluster running on version 1.4.1 and the workers working perfectly.
Hi, @krynble ! Can you help me with this problem?
I’ve already changed servers and operating systems but the problem persists.
I also updated to the latest version of n8n 1.10.0 released 1 hour ago, but that didn’t help either.
Hey @sidney27 it seems like the workers are not picking up the messages.
According to the logs, when you see Started job with ID: xyz that basically states that a new executions has been started and was sent to the queue (in Redis) and a worker should pick it up.
Could you please check whether your worker containers are running properly?
Also if you check the UI, you should see a lot of executions as Running if the workers are not properly functioning, with more piling up. If from the executions list you can see executions finishing normally, then you can rest assured that this is just a logging issue where the messages are not being displayed in your terminal but the workers are processing the executions.
Thank you very much for the answer, @krynble
The workers are working yes, I’m sure.
If I change the version in my docker-compose file to “image:n8nio/n8n:1.4.1” I see the workers working, but when I put any other version I don’t see them anymore.
Looking at the UI, the test flow is shown as executed.
@krynble, I did a test and disabled the workers to check the execution status of the flow in the UI and the status was as you said, many executions as Running.
So can we conclude that it’s just a registry issue where messages are not being displayed on your terminal?
If so, is there any hope that this will be resolved in future versions? Because I believe that without these records, it is impossible to know when a worker is not working due to various problems, or is there any other way to guarantee that the workers are working?
Thank you very much for your attention.
@sidney27 oh my current setup I still see the log messages, maybe you’ll want to set N8N_LOG_LEVEL=debug so n8n is more verbose, or just check if you haven’t changed the log levels.
Hi @krynble ! Thank you very much for your attention.
I found the problem and it was on this side.
There are no problems with the workers or the logs.
The problem was that the N8N_LOG_OUTPUT variable was set to file and the N8N_LOG_FILE_LOCATION variable to a path that did not exist, so nothing was recorded in the console or in the log file, as the path did not exist.
I set the variable to N8N_LOG_OUTPUT for console,file and the variable N8N_LOG_FILE_LOCATION to a valid path and now everything works fine.
I just don’t know why it works in version 1.4.1 and earlier.
Thanks a lot for the help.