1

私は2人の労働者と一緒に走っているセロリを持っていて、彼らを見ると、彼らがそれぞれ4つのタスクを受け入れ、それらを処理してから、タスクの処理を停止しているのがわかります。(これらのタスクは長時間実行され、処理に最大2分かかることに注意してください)。

celeryctlは、次の情報を提供します。

django@server: ./manage.py celeryctl inspect active
<- active
DEBUG 2012-06-01 12:51:11,330 amqplib 661 Start from server, version: 8.0, properties: {u'information': u'Licensed under the MPL.  See http://www.rabbitmq.com/', u'product': u'RabbitMQ', u'copyright': u'Copyright (C) 2007-2012 VMware, Inc.', u'capabilities': {}, u'platform': u'Erlang/OTP', u'version': u'2.8.2'}, mechanisms: [u'PLAIN', u'AMQPLAIN'], locales: [u'en_US']
DEBUG 2012-06-01 12:51:11,331 amqplib 507 Open OK! known_hosts []
DEBUG 2012-06-01 12:51:11,331 amqplib 70 using channel_id: 1
DEBUG 2012-06-01 12:51:11,332 amqplib 484 Channel open
-> eso-dev: OK
    - empty -

django@server:  ./manage.py celeryctl inspect scheduled
<- scheduled
DEBUG 2012-06-01 12:52:07,107 amqplib 661 Start from server, version: 8.0, properties: {u'information': u'Licensed under the MPL.  See http://www.rabbitmq.com/', u'product': u'RabbitMQ', u'copyright': u'Copyright (C) 2007-2012 VMware, Inc.', u'capabilities': {}, u'platform': u'Erlang/OTP', u'version': u'2.8.2'}, mechanisms: [u'PLAIN', u'AMQPLAIN'], locales: [u'en_US']
DEBUG 2012-06-01 12:52:07,108 amqplib 507 Open OK! known_hosts []
DEBUG 2012-06-01 12:52:07,108 amqplib 70 using channel_id: 1
DEBUG 2012-06-01 12:52:07,109 amqplib 484 Channel open
-> eso-dev: OK
    - empty -

django@server: ./manage.py celeryctl inspect registered
<- registered
DEBUG 2012-06-01 12:52:20,567 amqplib 661 Start from server, version: 8.0, properties: {u'information': u'Licensed under the MPL.  See http://www.rabbitmq.com/', u'product': u'RabbitMQ', u'copyright': u'Copyright (C) 2007-2012 VMware, Inc.', u'capabilities': {}, u'platform': u'Erlang/OTP', u'version': u'2.8.2'}, mechanisms: [u'PLAIN', u'AMQPLAIN'], locales: [u'en_US']
DEBUG 2012-06-01 12:52:20,568 amqplib 507 Open OK! known_hosts []
DEBUG 2012-06-01 12:52:20,568 amqplib 70 using channel_id: 1
DEBUG 2012-06-01 12:52:20,569 amqplib 484 Channel open
-> eso-dev: OK
    * celery.backend_cleanup
    * celery.chord
    * celery.chord_unlock
    *
celery_haystack.tasks.CeleryHaystackSignalHandler
    *
celery_haystack.tasks.CeleryHaystackUpdateIndex
    * convert.tasks.create_pdf
    * convert.tasks.create_pngs

さらに、これが発生するたびに、ログに出力される最後のものは次のとおりです。

[2012-06-01 12:17:53,777: INFO/MainProcess] Task convert.tasks.create_pdf[319984de-5bc4-47fc-891f-273d827d625f] retry: None
None
[2012-06-01 12:17:54,327: INFO/MainProcess] Task convert.tasks.create_pdf[8a89f3c1-e991-487e-a2db-a57d23bae17f] retry: None
None

これが出力される直前にタスクも失敗しました。私のコードでは、呼び出したのは次のとおりです。

except HTTPError, e:
    statsd.incr('A.stat')
    log.warn('Woops: %s', e)
    create_pdf.retry()

celerydを殺して(^ C、すぐに死んで、タスクを待たずに)再開すると、さらにいくつかのタスクで何も起こらなかったように続行し、再び死にます(常にcreate_pdfタスクにあると思いますが、ログには次のように表示されます)このタスクは失敗し、問題なく再試行されます)

4

1 に答える 1

0

これは、v3.0で修正されたセロリの既知のバグです。(707号

于 2012-09-10T03:44:44.410 に答える