# Execution runners based on Celery Celery is a feature rich task queue implemented in Python and provides easy means to scale and distribute workloads across also large numbers of workers. ## Requirements pip3 install celery dnf install rabbitmq-server ## How to Run # 1) make sure rabbitmq or other "message broker" is running service rabbitmq-server start # 2) startup a celery worker celery worker --loglevel=info cd .. celery -A runner worker --loglevel=info # if CELERY_IMPORTS is not set in celeryconfig.py, tasks to import need to be specified celery -A runner.tasks worker --loglevel=info ## Testing the worker Manual testing a dummy task (e.g. adding two numbers): # in terminal python3 # in python3 console from runner.tasks_debug import add add.delay(4,7) # out: r = add.delay(2,3) r.status # out: 'SUCCESS' r.result # out: 5 ## Resources and References Getting Started http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html Celery running workers as daemon http://docs.celeryproject.org/en/latest/tutorials/daemonizing.html#daemonizing