如果 celery-worker 有大约 10-15 个任务,那么它会停止处理来自 RedBeatScheduler 的新任务,这些任务是在工作期间动态创建的。但是,如果任务少于 10 个,那么它们会立即开始工作,并且工作人员会成功接受它们。 重新启动进程没有帮助。 但工作人员可能会在工作几个小时后随机开始自行接收此任务。 它只会帮助清除 Redis 中的所有键并在启动时在新的键上创建所有任务。
命令:
celery -A celery_worker.celery worker --queues slow_queue --loglevel=info --concurrency=8 -n cws -E
celery -A celery_worker.celery worker --queues celery --loglevel=info
celery -A celery_worker beat -S redbeat.RedBeatScheduler --loglevel=debug
我有完全相同的问题。你找到解决方案了吗?