We are running a Django site with a Celery worker along with celery beat for cron jobs. On occasion we will have a rogue celery beat process that keeps running when supervisor is restarted, or job in supervisor are restarted (I'm not sure when exactly it happens). Basically what happens is that we end up with two celery beat processes running which duplicates these tasks. This is a problem because one task sends reminder emails and when this happens a lot of our users get duplicate emails.
Does anyone have similar experience with celery beat & supervisor. Is there a way to check that one and only one celery beat process is running at all times?