0

セロリでタスクをデーモン化しようとしています。デーモン化せずにテストしましたが、非常にうまく機能しています。

しかし、チュートリアルのようにデーモン化することはできません ( http://docs.celeryproject.org/en/latest/tutorials/daemonizing.html#daemonizing ) 私は自分のファイルを持っています:

solr_desa.py

from celery import Celery

celery = Celery('solrdesa')
celery.config_from_object('celeryconfig')

@celery.task(name = "doSomething")
def doSomething():
    return 6

セロリconfig.py

from celery.schedules import crontab

BROKER_URL = '127.0.0.1'
BROKER_PORT = 5673
CELERY_RESULT_BACKEND = 'redis://127.0.0.1:6969/0'
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_TIMEZONE = 'America/Santiago'
CELERY_IMPORTS = ('solr_desa', )
CELERYBEAT_SCHEDULE = {
    'solr_schedule': {
        'task': 'doSomething',
        'schedule': crontab(minute=9, hour=12)
    },
}

また、 /etc/default/celeryd

CELERY_NODES="w1"

CELERYD_CHDIR="/opt/latam/script/solr"

CELERYD_OPTS="--time-limit=300 --concurrency=8"

CELERY_CONFIG_MODULE="celeryconfig"

CELERYD_LOG_FILE="/var/log/celery/%n.log"
CELERYD_PID_FILE="/var/run/celery/%n.pid"

https://github.com/celery/celery/blob/3.0/extra/generic-init.d/celerydのデフォルトの celeryd で実行しますが、タスクはキューに入れられただけですが、ワーカーがないように見えます:(

構成のどこに間違いがありますか? :(

4

1 に答える 1

0

ブローカーの URL が間違っています。次のようになるはずです

BROKER_URL : transport://userid:password@hostname:port/virtual_host
#example
BROKER_URL = "amqp://{username}:{password}@{host}:{port}//"

詳しくはこちらをお読みください

于 2013-01-14T06:37:45.740 に答える