Celery - adityaskarnik/expense_app GitHub Wiki

Celery Beat for periodic tasks

Pre-requisites:

  1. Celery - pip install celery
  2. RabbitMQ - sudo apt-get install rabbitmq-server Start service running with - sudo systemctl start rabbitmq-server.service Check Service status - sudo rabbitmqctl status
  3. Python (ofcourse)

Create a new file vi celery_test.py

from celery import Celery
from celery.task import periodic_task # to use without celery
from datetime import timedelta # to use without celery
app = Celery('celery_test')

@app.on_after_configure.connect
def setup_periodic_tasks(sender, **kwargs):
    # Executes 10 seconds
    sender.add_periodic_task(10,test_celery.s())

# @periodic_task(run_every=timedelta(seconds=1)) ## with timedelta
@app.task
def test_celery():
    print('Tested')
    return
celery worker -A celery_test -l INFO --beat -n celery