Mongodb 类型错误:关键字必须是字符串
我试图在celerybeat mongo的帮助下,使用Python2.7在celery中动态执行一些任务,因为我希望celery能够从mongo数据库中动态获取任务细节。 以下是我的示例代码:Mongodb 类型错误:关键字必须是字符串,mongodb,celery,celerybeat,Mongodb,Celery,Celerybeat,我试图在celerybeat mongo的帮助下,使用Python2.7在celery中动态执行一些任务,因为我希望celery能够从mongo数据库中动态获取任务细节。 以下是我的示例代码: from celery import Celery app = Celery('tasks', broker='redis://localhost') app.config_from_object('celeryconfig') @app.task def add(x, y): return
from celery import Celery
app = Celery('tasks', broker='redis://localhost')
app.config_from_object('celeryconfig')
@app.task
def add(x, y):
return int(x) + int(y)
根据celerybeat mongo的文件
我的mongodb文档如下
{
"_id" : ObjectId("59786aa52f3dd74f7a2943d4"),
"_cls" : "PeriodicTask",
"name" : "Addition",
"task" : "task.add",
"enabled" : true,
"interval" : {
"every" : 1,
"period" : "minute"
},
"args" : [
"2",
"5"
],
"kwargs" : {
"max_targets" : "100"
}
}
当我尝试执行以下命令时:
celery beat -S celerybeatmongo.schedulers.MongoScheduler
它将错误显示为-
[2017-07-26 15:44:19,729: WARNING/MainProcess] File "/home/username/.venvs/cel/local/lib/python2.7/site-packages/celerybeatmongo/models.py", line 38, in schedule
[2017-07-26 15:44:19,730: WARNING/MainProcess] return celery.schedules.schedule(datetime.timedelta(**{self.period: self.every}))
[2017-07-26 15:44:19,730: WARNING/MainProcess] TypeError
[2017-07-26 15:44:19,730: WARNING/MainProcess] :
[2017-07-26 15:44:19,730: WARNING/MainProcess] keywords must be strings
我不明白它指的是什么关键词