【发布时间】:2021-11-08 16:07:04
【问题描述】:
我的任务.py
from celery import Celery
app = Celery('tasks',broker='xxxxxxxxxxx')
app.conf.timezone = 'UTC'
app.conf.beat_schedule = {
'add-every-10-seconds': {
'task': 'tasks.test',
'schedule': 10.0,
'args': 'Dedeler'
},
}
@app.task
def test(arg):
print(arg)
我可以用这个命令启动我的工人
celery -A tasks worker -l INFO -P solo --concurrency=1 -E
但是当我用“celery -A tasks beat”开始节拍时
Traceback (most recent call last):
File "/home/diablo/PycharmProjects/PersonalityTraitModel/PersonalityTrait/bin/celery", line 8, in <module>
sys.exit(main())
File "/home/diablo/PycharmProjects/PersonalityTraitModel/PersonalityTrait/lib/python3.8/site-packages/celery/__main__.py", line 15, in main
sys.exit(_main())
File "/home/diablo/PycharmProjects/PersonalityTraitModel/PersonalityTrait/lib/python3.8/site-packages/celery/bin/celery.py", line 213, in main
return celery(auto_envvar_prefix="CELERY")
File "/home/diablo/PycharmProjects/PersonalityTraitModel/PersonalityTrait/lib/python3.8/site-packages/click/core.py", line 1137, in __call__
return self.main(*args, **kwargs)
File "/home/diablo/PycharmProjects/PersonalityTraitModel/PersonalityTrait/lib/python3.8/site-packages/click/core.py", line 1062, in main
rv = self.invoke(ctx)
File "/home/diablo/PycharmProjects/PersonalityTraitModel/PersonalityTrait/lib/python3.8/site-packages/click/core.py", line 1666, in invoke
sub_ctx = cmd.make_context(cmd_name, args, parent=ctx)
File "/home/diablo/PycharmProjects/PersonalityTraitModel/PersonalityTrait/lib/python3.8/site-packages/click/core.py", line 923, in make_context
self.parse_args(ctx, args)
File "/home/diablo/PycharmProjects/PersonalityTraitModel/PersonalityTrait/lib/python3.8/site-packages/click/core.py", line 1379, in parse_args
value, args = param.handle_parse_result(ctx, opts, args)
File "/home/diablo/PycharmProjects/PersonalityTraitModel/PersonalityTrait/lib/python3.8/site-packages/click/core.py", line 2364, in handle_parse_result
value = self.process_value(ctx, value)
File "/home/diablo/PycharmProjects/PersonalityTraitModel/PersonalityTrait/lib/python3.8/site-packages/click/core.py", line 2320, in process_value
value = self.type_cast_value(ctx, value)
File "/home/diablo/PycharmProjects/PersonalityTraitModel/PersonalityTrait/lib/python3.8/site-packages/click/core.py", line 2307, in type_cast_value
return convert(value)
File "/home/diablo/PycharmProjects/PersonalityTraitModel/PersonalityTrait/lib/python3.8/site-packages/click/types.py", line 75, in __call__
return self.convert(value, param, ctx)
File "/home/diablo/PycharmProjects/PersonalityTraitModel/PersonalityTrait/lib/python3.8/site-packages/celery/bin/base.py", line 245, in convert
value = value.upper()
AttributeError: 'int' object has no attribute 'upper'
我收到此错误消息。我的代码有什么问题?
PS:我用的是heroku celery
【问题讨论】:
-
试试
'args': ['Dedeler'] -
你追踪到问题代码
value = value.upper()的位置了吗?它是在 celery 库代码中还是在您的代码中? -
错误在 celery 库中。它在 loglevel 类中。我试过 args ['Ddeler']。它不起作用。