Celery beat schedule multiple tasks under same time-interval group
The Celery Documentation: Periodic Tasks states that you can only have the name of the task to be executed (not a list, etc.)
You could create two different schedule entries:
CELERYBEAT_SCHEDULE = { 'every-minute_add': { 'task': 'tasks.add', 'schedule': crontab(minute='*/1'), 'args': (1,2) }, 'every-minute_multiply': { 'task': 'task.multiply', 'schedule': crontab(minute='*/1'), 'args': (3,4) },}
CELERYBEAT_SCHEDULE = {'every-minute': { 'task': 'tasks.add', 'schedule': crontab(minute='*/1'), 'args': (1,2)},
}
You can use single task celery for your work to be done as per your question.Your tasks.py should be
def multiply(p1,p2): return p1*p2def add(x,y): z=multiply(3,4) return x+y,z