13

I am running django+celery with celerybeat, and i am getting this error

.../local/lib/python2.7/site-packages/celery/beat.py", line 367, in setup_schedule
    writeback=True)
  File "/usr/lib/python2.7/shelve.py", line 239, in open
    return DbfilenameShelf(filename, flag, protocol, writeback)
  File "/usr/lib/python2.7/shelve.py", line 223, in __init__
    Shelf.__init__(self, anydbm.open(filename, flag), protocol, writeback)
  File "/usr/lib/python2.7/anydbm.py", line 85, in open
    return mod.open(file, flag, mode)
  File "/usr/lib/python2.7/dbhash.py", line 18, in open
    return bsddb.hashopen(file, flag, mode)
  File "/usr/lib/python2.7/bsddb/__init__.py", line 364, in hashopen
    d.open(file, db.DB_HASH, flags, mode)
DBAccessError: (13, 'Permission denied')
[2014-11-05 06:39:20,901: INFO/MainProcess] mingle: all alone

I used python manage.py celeryd -B to run celery beat. It seems that running the celery worker is not the issue, but the celerybeat worker is not initialising. any suggestions as to where i could find the database which celery is trying to access?

I'm running django=1.5 and django-celery==3.1.10

1 Answer 1

24

I asked too soon!

answering my own question in case anyone else face the same issue.

The issue was because I did not have write permission in the folder my django project was running.

from the documentation (http://celery.readthedocs.org/en/latest/userguide/periodic-tasks.html#starting-the-scheduler)

Beat needs to store the last run times of the tasks in a local database file (named celerybeat-schedule by default), so it needs access to write in the current directory

fixed the issue by running

python manage.py celeryd -B -s /path/to/where/i/have/write-access/celerybeat-schedule

Hope that this helps someone.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.