scheduling a task at multiple timings(with different parameters) using celery beat but task run only once(with random parameters)
<p>What i am trying to achieve
Write a scheduler, that uses a database to schedule similar tasks at different timings.</p>

<p>For the same i am using celery beat, the code snippet below would give an idea</p>

<pre><code>try:
    reader = MongoReader()
except:
    raise
try:
    tasks = reader.get_scheduled_tasks()
except:
    raise
celerybeat_schedule = dict()
for task in tasks:
    celerybeat_schedule[task["task_id"]] =dict()
    celerybeat_schedule[task["task_id"]]["task"] = task["task_name"]
    celerybeat_schedule[task["task_id"]]["args"] = (task,)
    celerybeat_schedule[task["task_id"]]["schedule"] = get_task_schedule(task)

app.conf.update(BROKER_URL=rabbit_mq_endpoint, CELERY_TASK_SERIALIZER='json', CELERY_ACCEPT_CONTENT=['json'], CELERYBEAT_SCHEDULE=celerybeat_schedule)
</code></pre>

<p>so these are three steps
- reading all tasks from datastore
- creating a dictionary, celery scheduler which is populated by all tasks having properties, task_name(method that would run), parameters(data to pass to the method), schedule(stores when to run)
- updating this with celery configurations</p>

<p>Expected scenario
given all entries run the same celery task name that just prints, have same schedule to be run every 5 min, having different parameters specifying what to print, lets say db has </p>

<pre><code>task name     , parameter , schedule
regular_print , Hi        , {"minutes" : 5}
regular_print , Hello        , {"minutes" : 5}
regular_print , Bye        , {"minutes" : 5}
</code></pre>

<p>I expect, these to be printing every 5 minutes to print all three</p>

<p>What happens
Only one of Hi, Hello, Bye prints( possible randomly, surely not in sequence)</p>

<p>Please help,
Thanks a lot in advance :)</p>