Reputation: 1103
A normal approach to cron jobs with a django site would be to use cron to run custom management commands periodically.
But I found this http://code.google.com/p/django-cron/
How does it work, without needing cron? What invokes it to poll?
If it just sets up an address for an http request to hit periodically, what if the job takes a long time, won't the server time out?
Upvotes: 5
Views: 1095
Reputation: 239430
It continually fires off a Timer
thread, whose whole purpose is to wait a defined amount of time (the polling frequency you set in settings.py) and then run the execute
on the django-cron queue again.
Upvotes: 6
Reputation: 799170
It depends on Django being a long-lived process, which if configured correctly it is. It runs a thread to check every 5 minutes (by default) to see if there are any jobs that need to be run, and if so runs them.
Upvotes: 4