Celery 如何管理集群中不同节点上的不同芹菜配置文件?

Celery 如何管理集群中不同节点上的不同芹菜配置文件?,celery,django-celery,Celery,Django Celery,我有一个芹菜节点集群,具有不同的芹菜配置(celeryconfig.py和celery.py),以及不同的启动和停止脚本。管理不同的文件越来越麻烦 现在,我黑客了我的ansible自动化,以纳入不同的配置文件,但这似乎肮脏,无法扩展 有没有办法处理所有不同的配置,集中管理配置文件 感谢您的帮助,谢谢 Ansible通常在这方面很在行 有几种方法可以解决此问题: 有一个每主机配置文件,并可以创建一个符号链接/path/to/celeryconfig.py-->/path/to/configs/-

我有一个芹菜节点集群,具有不同的芹菜配置(celeryconfig.py和celery.py),以及不同的启动和停止脚本。管理不同的文件越来越麻烦

现在,我黑客了我的ansible自动化,以纳入不同的配置文件,但这似乎肮脏,无法扩展

有没有办法处理所有不同的配置,集中管理配置文件


感谢您的帮助,谢谢

Ansible通常在这方面很在行

有几种方法可以解决此问题:

  • 有一个每主机配置文件,并可以创建一个符号链接
    /path/to/celeryconfig.py-->/path/to/configs/-celeryconfig.py
  • 与之前相同,但以每组为基础
  • 根据主机/组/任何内容,使用ansible模板调整通用模板配置文件的特定部分
  • 等等

到目前为止,我一直在使用ansible模板,但这会导致模板太多,而且此配置似乎不可扩展。有没有apache zookeper之类的解决方案?我做过类似的设置,其中只有一个模板文件,例如,
celeryconfig.py
,ansible logic在每个主机上创建了正确的版本。您可能正在以次优方式使用ansible。回答你的问题-是的,有几个像zookeeper。由于某些原因,我假设zookeeper本身不适合您-我们目前正在试用
etcd
,结果很有希望。谢谢,我认为我正在以次优方式配置ansible脚本,我将研究它,并尝试结合最佳实践。如果您能分享一些关于管理celeryconfig.py、celery.py、celery启动/停止脚本(包括队列参数)的最佳实践,我将不胜感激。再次感谢!我建议你问一个新问题。例如,我建议您解释一下如何处理
celeryconfig.py
(省略其他文件以保持问题的简单性),并询问是否有更好的方法在ansible中处理此问题