Eric
Eric

Reputation: 1103

How does django-cron work?

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

Answers (2)

Chris Pratt
Chris Pratt

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

Ignacio Vazquez-Abrams
Ignacio Vazquez-Abrams

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

Related Questions