我基本上想要将预取设置为1.但是我认为在运行celery worker -prefetch=1
或类似的东西时,有一种方法可以做到这一点。我需要创建一个设置文件,但不确定这个文件应该命名为(settings.py?)以及该文件应该驻留在哪里。
所有芹菜工人都需要这个设置文件吗?
关于预取值,我读了Understanding celery task prefetching以便更好地理解它。
答案 0 :(得分:2)
您可以通过创建名为celeryconfig
的模块并在其中设置相应的指令来定义Celery的设置。模块文件celeryconfig.py
必须在Python路径上可用。请参阅configuration docs。
您可以使用CELERYD_PREFETCH_MULTIPLIER
指令设置预取值。
答案 1 :(得分:2)
如果您需要在命令行中更改它,请使用'celery worker [options] - [configuration]
celery worker -n slow.task.Worker -A myworker -Q queueA -- celeryd.prefetch_multiplier=1
celery worker -n Fast.task.Worker -A myworker -Q queueB -- celeryd.prefetch_multiplier=8
这样你就可以使用相同的celeryconfig.py,但在命令行中设置了一些差异。