我正在重构代码以使用芹菜工人。
在我使用argparse传递命令行参数之前。
例如
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Node')
parser.add_argument('--environment', action="store", default='local', help="env e.g. production of development")
environment = arg_options.environment
但现在我发现了这个错误。
celery -A tasks worker --loglevel=info --environment local
celery: error: no such option: --environment
我该怎么补充?
如果不需要的话,我不想使用环境变量。
e.g export environment=development
芹菜工人不执行您的
__main__
。如果要添加其他命令行选项,可以使用
app.user_options
, 但请注意,它使用optparse
模块,而不是argparse
。有关更多信息,请参见文档中的本节:
http://docs.celeryproject.org/en/latest/userguide/extending.html#preload-options
通过查看源代码,我找到了处理这个问题的方法。
芹菜.py添加:
然后在保存任务的文件中添加以下内容:
我尝试在导入模块时解析API_服务器,使其成为模块全局变量,但由于太早而无法工作。因为我的任务相当繁重,所以跑这么多次也没有坏处。
相关问题 更多 >
编程相关推荐