Celery 在员工从服务开始时不会承担多项任务

我的 Python Flask 应用程序支持一些长时间运行的任务,这些任务是使用来自其他一些系统的 API 或 CURL 调用调用的。

当我通过手动将其输入终端来执行以下命令时,它工作得很好。

celery worker -A manage.celery --loglevel=info -f log/celery.log

现在,我想为服务器创建一个服务,如果系统重新启动,这个芹菜工人应该自己启动。但是,当从服务执行以下命令时,它不会从队列中执行任何新任务。

celery worker -A manage.celery --pool=solo --loglevel=info -f log/celery.log

我可以看到CURL调用命中服务器,但底层任务还没有开始在芹菜中。

关于如何解决这个问题的任何想法?


holdtom
浏览 152回答 1
1回答

宝慕林4294392

服务文件中写入的命令出现问题。我在服务文件中的命令是celery worker -A manage.celery --pool=solo --loglevel=info -f log/celery.log然而,在终端上,我使用了命令。这里没有使用,因此可以执行多个任务。celery worker -A manage.celery --loglevel=info -f log/celery.log--pool=solo更新了服务文件中的命令,它也开始在那里执行多个任务。可以从此链接中获取对执行池的深入了解。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python