Результаты сельдерея отключены - PullRequest
0 голосов
/ 01 июня 2018

Я новичок в сельдерее.После установки сельдерея в моем приложении django я запускаю следующую команду в оболочке Django:

import os
from celery import Celery
from django.apps import apps

app = Celery('')
app.config_from_object('ns.settings')
@app.task                            
def add(x, y):   
   return x + y

Я могу получить результат:

In [5]: add.delay(4,4)
Out[5]: <AsyncResult: f632d828-07d5-4f6b-b538-2aee6617b7ab>

Я думаю, что асинхронная задача построенауспешно, но я не могу получить такой результат:

In [4]: result = add.delay(4,4)
Start from server, version: 0.9, properties: {'information': 'Licensed under the MPL.  See http://www.rabbitmq.com/', 'product': 'RabbitMQ', 'copyright': 'Copyright (C) 2007-2018 Pivotal Software, Inc.', 'capabilities': {'exchange_exchange_bindings': True, 'connection.blocked': True, 'authentication_failure_close': True, 'direct_reply_to': True, 'basic.nack': True, 'per_consumer_qos': True, 'consumer_priorities': True, 'consumer_cancel_notify': True, 'publisher_confirms': True}, 'cluster_name': 'rabbit@rabbit', 'platform': 'Erlang/OTP 19.2.1', 'version': '3.6.15'}, mechanisms: ['AMQPLAIN', 'PLAIN'], locales: [u'en_US']
[13:49:41] amqp _on_start():340 Start from server, version: 0.9, properties: {'information': 'Licensed under the MPL.  See http://www.rabbitmq.com/', 'product': 'RabbitMQ', 'copyright': 'Copyright (C) 2007-2018 Pivotal Software, Inc.', 'capabilities': {'exchange_exchange_bindings': True, 'connection.blocked': True, 'authentication_failure_close': True, 'direct_reply_to': True, 'basic.nack': True, 'per_consumer_qos': True, 'consumer_priorities': True, 'consumer_cancel_notify': True, 'publisher_confirms': True}, 'cluster_name': 'rabbit@rabbit', 'platform': 'Erlang/OTP 19.2.1', 'version': '3.6.15'}, mechanisms: ['AMQPLAIN', 'PLAIN'], locales: [u'en_US']
using channel_id: 1
[13:49:41] amqp __init__():108  using channel_id: 1
Channel open
[13:49:41] amqp _on_open_ok():445   Channel open

In [7]: result.ready()
Out[7]: False

In [8]: result.status
Out[8]: u'PENDING'

При первом запуске сельдерея я вижу следующее сообщение:

tasks_1      |  -------------- celery@31a95a569866 v4.1.0 (latentcall)
tasks_1      | ---- **** ----- 
tasks_1      | --- * ***  * -- Linux-4.9.87-linuxkit-aufs-x86_64-with-debian-8.10 2018-06-01 13:14:32
tasks_1      | -- * - **** --- 
tasks_1      | - ** ---------- [config]
tasks_1      | - ** ---------- .> app:         __main__:0x7efc50ed6810
tasks_1      | - ** ---------- .> transport:   amqp://guest:**@localhost:5672//
tasks_1      | - ** ---------- .> results:     disabled://
tasks_1      | - *** --- * --- .> concurrency: 2 (prefork)
tasks_1      | -- ******* ---- .> task events: ON
tasks_1      | --- ***** ----- 
tasks_1      |  -------------- [queues]
tasks_1      |                 .> default          exchange=default(direct) key=default
tasks_1      |                 
tasks_1      | 

Результат был отключен.Я думаю, что это потому, что мои настройки бэкэнда в соответствии с это

result_backend = 'cache'
#result_backend = 'cache+memcached://memcached:11211/'
cache_backend = 'memory'
task_create_missing_queues = True
task_track_started = True
task_default_queue = 'celery'
task_always_eager = False
task_eager_propagates = True
task_ignore_result = True
task_store_errors_even_if_ignored = True

Я пробовал эту настройку или только закомментированную строку.У меня та же проблема с инвалидностью.

Вы знаете, как это исправить?Если вы хотите увидеть больше результата с определенной командой.Я покажу тебе.

...