/* Useful celery config.

app = Celery('tasks',
             broker='redis://localhost:6379',
             backend='redis://localhost:6379')

app.conf.update(
    CELERY_TASK_RESULT_EXPIRES=3600,
    CELERY_QUEUES=(
        Queue('default', routing_key='tasks.#'),
        Queue('hipri', routing_key='tasks.#'),
    ),
    CELERY_ROUTES={
        'tasks.tasks.add': {'queue': 'hipri'},
    }
)

*/

celery -A tasks worker --loglevel=info  # run the worker

celery worker --help  # list command-line options available

celery multi start w1 -A proj -l info  # start one or more workers in the background

celery multi restart w1 -A proj -l info  # restart workers

celery multi stop w1 -A proj -l info  # stop workers aynchronously

celery multi stopwait w1 -A proj -l info  # stop after executing tasks are completed

celery multi start w1 -A proj -l info --pidfile=/var/run/celery/%n.pid --logfile=/var/log/celery/%n%I.log  # create pid and log files in the current directory

celery -A proj inspect active  # control and inspect workers at runtime
celery -A proj inspect active --destination=celery@w1.computer

celery -A proj inspect scheduled # list scheduled ETA tasks.

celery -A proj control cancel_consumer  # Force all worker to cancel consuming from a queue
celery -A proj control cancel_consumer foo -d worker1.local  # Force an specified worker to cancel consuming from a queue

celery -A proj inspect active_queues  # Get a list of queues that workers consume
celery -A proj inspect active_queues -d celery@worker1  # Get a list of queues that a worker consumes

celery -A proj inspect stats  # show worker statistics.

celery shell -I  # Drop into IPython console.

celery -A tasks result -t tasks.add dbc53a54-bd97-4d72-908c-937827009736  # See the result of a task.

# Control workers
i = app.control.inspect()
i = app.control.inspect(['worker1.example.com', 'worker2.example.com'])
i.registered()  // Show registred tasks for specified workers
i.active()  // Get a list of active tasks
i.scheduled  // Get a list of tasks waiting to be scheduled
i.reserved() # Get a list of tasks that has been received, but are still waiting to be executed
i.active_queue() # get active queues
app.control.broadcast('shutdown') # shutdown all workers app.control.broadcast('shutdown', destination=['celer@worker']) app.control.ping() app.control.ping(['celer@worker']) # Inspecting queues in Redis redis-cli -h HOST -p PORT -n DATABASE_NUMBER llen QUEUE_NAME LRANGE queue_name 0 10 # Redis client

 

posted on 2019-08-23 14:21  Go_Forward  阅读(429)  评论(0编辑  收藏  举报