python - Python - 芹菜自动更新
问题描述
使用 celery 时你是如何发展的?似乎每次更改都需要重新加载,
我正在使用命令:
watchmedo auto-restart --directory=proj/ -p '*.py' --recursive -- celery -A proj worker --concurrency=1 --loglevel=INFO
cellery.py
from decouple import AutoConfig
cwd = os.getcwd()
DOTENV_FILE = cwd + '/proj/config/.env'
config = AutoConfig(search_path='DOTENV_FILE')
app = Celery('proj',
broker=config('CELERY_BROKER_URL'),
backend=config('CELERY_RESULT_BACKEND'),
include=['proj.tasks'])
app.conf.update(
result_expires=3600,
)
if __name__ == '__main__':
app.start()
任务.py
from .celery import app
@app.task
def add(x, y):
return x + y
解决方案
即使有这种重新加载的技术解决方案,我建议您在开发任务功能时不应该使用 celery 的东西,因为它只是一个功能!所以我在这里的方法是先完成功能并添加 celery 的东西,然后检查它是否与链中的任务、django 等其他东西很好地集成。如果你考虑单元测试,同样的技术将适用。
推荐阅读
- javascript - 我的测试失败,因为“找不到 react-redux 上下文值;请确保组件包装在
" - jupyter-notebook - jinja2.exceptions.TemplateNotFound: null.tpl
- javascript - 你如何为你的不和谐机器人创建一个永久的 oauth 邀请?
- php - “/tmp/phpIKaDnv”文件不存在或不可读
- r - 仅使用列名从列表中的向量返回值
- marklogic - MarkLogic如何在指定林中插入文档
- mysql - 将数据从一个表复制到另一个不避免重复键
- pandas - 如何使用列号而不是列名修改列?
- firebase - 如何从 SwiftUI 的列表中删除 Firestore 文档
- python - 获取 Django 中的当前用户不在测试中工作