【问题标题】:Celery: how to create a settings file?芹菜:如何创建设置文件?
【发布时间】:2026-01-19 19:15:01
【问题描述】:

我基本上想将预取设置为 1。但是我认为在运行 celery worker -prefetch=1 或类似的东西时没有办法做到这一点。我需要创建一个设置文件,但不确定该文件应命名为什么(settings.py?)以及该文件应位于何处。

所有的芹菜工人都需要这个设置文件吗?

关于预取值,我阅读了Understanding celery task prefetching 以更好地理解它。

【问题讨论】:

    标签: python celery setting


    【解决方案1】:

    如果需要在命令行修改,使用'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 但在命令行中设置一些不同。

    【讨论】:

      【解决方案2】:

      您可以通过创建一个名为 celeryconfig 的模块并在其中设置适当的指令来定义 Celery 的设置。模块文件 celeryconfig.py 必须在 Python 路径上可用。见configuration docs

      您可以使用CELERYD_PREFETCH_MULTIPLIER 指令设置预取值。

      【讨论】: