我基本上想将预取设置为1。然而,我认为在运行celery worker -prefetch=1
或类似的程序时没有办法做到这一点。我需要创建一个设置文件,但不确定这个文件应该命名为什么(settings.py?)以及这个文件应该位于哪里。
所有芹菜工人都需要这个设置文件吗?
关于预取值我读了《理解芹菜任务预取》,以便更好地理解它。
您可以通过创建一个名为celeryconfig
的模块并在其中设置适当的指令来定义Celery的设置。模块文件celeryconfig.py
必须在Python路径上可用。请参阅配置文档。
您可以使用CELERYD_PREFETCH_MULTIPLIER
指令设置预取值。
如果您需要在命令行上更改它,请使用'celener-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,但在命令行中设置了一些差异。