Locking Backend¶
You can use one of two built-in locking backends by setting DJANGO_CRON_LOCK_BACKEND with one of:
django_cron.backends.lock.cache.CacheLock
(default)django_cron.backends.lock.file.FileLock
Cache Lock¶
This backend sets a cache variable to mark current job as “already running”, and delete it when lock is released.
File Lock¶
This backend creates a file to mark current job as “already running”, and delete it when lock is released.
Custom Lock¶
You can also write your custom backend as a subclass of django_cron.backends.lock.base.DjangoCronJobLock
and defining lock()
and release()
methods.