【问题标题】:Celery task - Inserting records into database does not work芹菜任务 - 将记录插入数据库不起作用
【发布时间】:2017-09-28 09:33:42
【问题描述】:

这是我第一次使用 Celery(Celery 4.1、Python 3、Django 1.10)。我正在玩一个简单的任务,将记录插入我的主数据库。奇怪的想法是我没有收到错误消息,但记录只是没有插入数据库中。代码如下:

views.py:

def test_view(request):
   test.delay()
   return HttpResponse()

tasks.py

from __future__ import absolute_import, unicode_literals
from celery import task
from main.models import EmailDialog

@task()
def test():
    a = EmailDialog()
    a.save()

如果我删除 .delay() 并调用 test() 作为标准 python 函数,我会看到记录出现在数据库中。但是在添加回 .delay() 部分后,不会添加记录。我想知道要挖什么方向。

附:我看到了similar question,但它也没有帮助解决问题。

【问题讨论】:

  • 你开始吃芹菜了吗?
  • 你启动 celery worker 了吗?您应该在那里看到任何错误。我使用这个命令来检查我的错误: celery -A worker -l info

标签: django celery


【解决方案1】:

如果没有启动,请启动 celery worker。检查所有 celery 配置是否按照文档完成。并检查是否提供了消息代理。

【讨论】:

    猜你喜欢
    • 2016-04-24
    • 2018-01-21
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-03
    • 2019-10-05
    相关资源
    最近更新 更多