对象未保存在芹菜任务中



我正在使用celery=4.3Django 包和 Django 2.2.6。

我注意到当我尝试从芹菜任务功能更新对象时,该对象未保存

@app.task
def update_object(object_id, points):
object = MyObject.objects.get(pk=object_id)
object.update_points(points)

我的对象如下所示:

class MyObject(models.Model):
....
def update_points(self, points):
self.points += points
self.save()

我正在调用芹菜任务:update_object.delay(object_id, points)

这不起作用:/有人有什么建议吗?

你可以尝试使用update_object.delay((object_id, points)),参数作为元组。
通常,您需要传递 *args 和 **kwargs(请参阅此文档(

快速备忘单

T.delay(arg, kwarg=value)
Star arguments shortcut to .apply_async. (.delay(*args, **kwargs) calls .apply_async(args, kwargs)).
T.apply_async((arg,), {'kwarg': value})
T.apply_async(countdown=10)
executes in 10 seconds from now.
T.apply_async(eta=now + timedelta(seconds=10))
executes in 10 seconds from now, specified using eta
T.apply_async(countdown=60, expires=120)
executes in one minute from now, but expires after 2 minutes.
T.apply_async(expires=now + timedelta(days=2))
expires in 2 days, set using datetime.

相关内容

  • 没有找到相关文章

最新更新