You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This works in that it will start up, run schedules, and process messages. But it won't shut down anymore.
INFO:dispatcher.producers.brokered:Received message from channel 'test_channel': lambda: 13, sending to worker
WARNING:dispatcher.pool:Ran out of available workers, queueing up next task, current queued 19
DEBUG:dispatcher.brokers.pg_notify:Received notification: test_channel - lambda: 14
INFO:dispatcher.producers.brokered:Received message from channel 'test_channel': lambda: 14, sending to worker
WARNING:dispatcher.pool:Ran out of available workers, queueing up next task, current queued 20
INFO:dispatcher.producers.scheduled:Sending scheduled task to worker: lambda: __import__("time").sleep(1)
WARNING:dispatcher.pool:Ran out of available workers, queueing up next task, current queued 21
INFO:dispatcher.producers.scheduled:Sending scheduled task to worker: lambda: __import__("time").sleep(2)
WARNING:dispatcher.pool:Ran out of available workers, queueing up next task, current queued 22
^CINFO:root:Received exit signal SIGTERM...
DEBUG:root:Shutting down, starting with producers.
INFO:dispatcher.worker.task:Received worker process exit signal
INFO:dispatcher.worker.task:Received worker process exit signal
INFO:dispatcher.worker.task:Received worker process exit signal
INFO:dispatcher.producers.brokered:Successfully canceled production from pg_notify
INFO:dispatcher.producers.scheduled:Stopping scheduled tasks
DEBUG:dispatcher.main:Gracefully shutting down worker pool
^CINFO:dispatcher.worker.task:Received worker process exit signal
INFO:dispatcher.worker.task:Received worker process exit signal
INFO:dispatcher.worker.task:Received worker process exit signal
^CINFO:dispatcher.worker.task:Received worker process exit signal
INFO:dispatcher.worker.task:Received worker process exit signal
INFO:dispatcher.worker.task:Received worker process exit signal
^CINFO:dispatcher.worker.task:Received worker process exit signal
INFO:dispatcher.worker.task:Received worker process exit signal
INFO:dispatcher.worker.task:Received worker process exit signal
^CINFO:dispatcher.worker.task:Received worker process exit signal
INFO:dispatcher.worker.task:Received worker process exit signal
INFO:dispatcher.worker.task:Received worker process exit signal
^CINFO:dispatcher.worker.task:Received worker process exit signal
INFO:dispatcher.worker.task:Received worker process exit signal
INFO:dispatcher.worker.task:Received worker process exit signal
It appears that something isn't cleaned up quite right, and it hangs on the worker side somehow.
This library offers a
Queue
type which can go async or non-async.https://github.com/aio-libs/janus
This could replace specifically the following lines here:
dispatcher/dispatcher/pool.py
Lines 16 to 17 in 01d6e8f
dispatcher/dispatcher/pool.py
Line 115 in 01d6e8f
dispatcher/dispatcher/pool.py
Line 131 in 01d6e8f
I would like some research to determine if this works as a drop-in replacement now. If so, this might be a better long-term pattern.
Tip from @webknjaz
The text was updated successfully, but these errors were encountered: