当模块在 CELERY_IMPORTS
在 settings.py
中发生变化时,我可以让芹菜自动重新加载。
我试图让母模块检测子模块的变化,但它没有检测到子模块的变化。这让我明白检测不是由芹菜递归完成的。我在文档中搜索了它,但没有遇到任何针对我的问题的回复。
将项目中所有与芹菜相关的部分添加到 CELERY_IMPORTS
以检测更改,这真的让我很困扰。
有没有办法告诉芹菜“当项目的任何地方发生任何变化时自动重新加载自己”。
谢谢你!
原文由 Ahmet DAL 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用
-I|--include
手动包含其他模块。将其与 GNU 工具结合使用,例如find
和awk
,您将能够找到所有.py
文件并包含它们让我们解释一下:
find
递归搜索包含.py
的所有文件。输出看起来像这样:然后:
此行将
find
的输出作为输入,并删除所有出现的./
。然后它将所有/
替换为.
。最后一个sub()
删除替换.py
为空字符串。ORS
将所有换行符替换为,
。这输出:最后一个命令
sed
删除最后一个,
。所以正在执行的命令看起来像:
如果您的源代码中有
virtualenv
,您可以通过添加-path .path_to_your_env -prune -o
来排除它: