Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rabbitmq 芹菜在重试任务时出错_Rabbitmq_Celery_Django Celery - Fatal编程技术网

Rabbitmq 芹菜在重试任务时出错

Rabbitmq 芹菜在重试任务时出错,rabbitmq,celery,django-celery,Rabbitmq,Celery,Django Celery,当我尝试重试失败的任务时,我会间歇性地(大约20%的时间)从芹菜收到IOError异常 我的任务是: @task def update_data(pk_id): try: pk = PK.objects.get(pk=pk_id) results = pk.get_update() return results except urllib2.HTTPError, exc: print "Let's retry in

当我尝试重试失败的任务时,我会间歇性地(大约20%的时间)从芹菜收到IOError异常

我的任务是:

@task
def update_data(pk_id):
     try:
        pk = PK.objects.get(pk=pk_id)
        results = pk.get_update()
        return results
    except urllib2.HTTPError, exc:
        print "Let's retry in a few minutes."
        update_data.retry(exc=exc, countdown=600)
例外情况:

[2011-10-07 11:35:53,594: ERROR/MainProcess] Task report.tasks.update_data[1babd4e3-45eb-4fa3-a497-68b67bb4a6df] raised exception: IOError()
Traceback (most recent call last):
  File "/home/prj/prj_env/lib/python2.6/site-packages/celery/execute/trace.py", line 36, in trace
    return cls(states.SUCCESS, retval=fun(*args, **kwargs))
  File "/home/prj/prj_env/lib/python2.6/site-packages/celery/app/task/__init__.py", line 232, in __call__
    return self.run(*args, **kwargs)
  File "/home/prj/prj_env/lib/python2.6/site-packages/celery/app/__init__.py", line 172, in run
    return fun(*args, **kwargs)
  File "/home/prj/prj/report/tasks.py", line 109, in update_data
    update_data.retry(exc=exc, countdown=600)
  File "/home/prj/prj_env/lib/python2.6/site-packages/celery/app/task/__init__.py", line 520, in retry
    self.name, options["task_id"], args, kwargs))
HTTPError
RabbitMQ日志

=INFO REPORT==== 7-Oct-2011::15:35:43 ===
closing TCP connection <0.4294.17> from 10.254.122.225:59704

=WARNING REPORT==== 7-Oct-2011::15:35:43 ===
exception on TCP connection <0.4330.17> from 10.254.122.225:59715
connection_closed_abruptly

=INFO REPORT==== 7-Oct-2011::15:35:43 ===
closing TCP connection <0.4330.17> from 10.254.122.225:59715

=WARNING REPORT==== 7-Oct-2011::15:35:49 ===
exception on TCP connection <0.4313.17> from 10.254.122.225:59709
connection_closed_abruptly

=INFO REPORT==== 7-Oct-2011::15:35:49 ===
closing TCP connection <0.4313.17> from 10.254.122.225:59709

=WARNING REPORT==== 7-Oct-2011::15:35:49 ===
exception on TCP connection <0.4350.17> from 10.254.122.225:59720
connection_closed_abruptly

=INFO REPORT==== 7-Oct-2011::15:35:49 ===
closing TCP connection <0.4350.17> from 10.254.122.225:59720

=INFO REPORT==== 7-Oct-2011::15:36:22 ===
accepted TCP connection on [::]:5672 from 10.255.199.63:50526

=INFO REPORT==== 7-Oct-2011::15:36:22 ===
starting TCP connection <0.4501.17> from 10.255.199.63:50526
=信息报告===2011年10月7日::15:35:43===
正在从10.254.122.225:59704关闭TCP连接
=警告报告===2011年10月7日::15:35:43===
10.254.122.225:59715的TCP连接异常
连接突然关闭
=信息报告===2011年10月7日::15:35:43===
正在从10.254.122.225:59715关闭TCP连接
=警告报告===2011年10月7日::15:35:49===
10.254.122.225:59709的TCP连接异常
连接突然关闭
=信息报告===2011年10月7日::15:35:49===
正在从10.254.122.225:59709关闭TCP连接
=警告报告===2011年10月7日::15:35:49===
10.254.122.225:59720的TCP连接异常
连接突然关闭
=信息报告===2011年10月7日::15:35:49===
正在从10.254.122.225:59720关闭TCP连接
=信息报告===2011年10月7日::15:36:22===
已从10.255.199.63:50526接受[:]:5672上的TCP连接
=信息报告===2011年10月7日::15:36:22===
正在从10.255.199.63:50526启动TCP连接
你知道为什么会这样吗

谢谢

可能需要将每个任务保存在数据库中,如果没有结果,请重试 收到一段时间了吗?或者可能是dispatcher有自己的持久性 存储如果工作线程在接收任务时崩溃,或者 在执行它的时候


芹菜中的默认值为3,因此如果同一任务连续失败3次(即20%),重试将重新显示异常。

看起来是引发了
HTTPError
,而不是
IOError
?@asksol我遇到了相同的问题,这是一个HTTP错误,但是芹菜发送的电子邮件通知是:“任务id为7e1d88a9-ef58-4b30-b523-c879d9e90402的某些_任务引发异常:'IOError()'”