Question: I am getting this issue while re-build and re-start `cookiecutter-django` `docker-compose` in production. I am able to solve this by either removing all stopped docker containers or by adding `rm -f './celerybeat.pid'` in `/compose/production/django/celery/beat/start.sh` similar to `/compose/local/django/celery/beat/start.sh`. Is there any reason for not including this specific code in production version of compose file?

Answer: 
If you can live without `beat`, there's a way for celery to handle periodic tasks by passing in the 'B' flag. When you do this, no .pid file is generated, a `celerybeat-schedule` file is generated. When you rerun celery, it won't complain about reusing this file. As far as source control does, just add it to your .gitignore.

Here's the command in full form:

`celery -A <appname> worker -l info -BE`
You can use `celery worker --pidfile=/path/to/celeryd.pid` to specify a non mounted path so that it is not mirror on the host.