django-cron是如何工作的?

5 投票
2 回答
1088 浏览
提问于 2025-04-16 20:27

在一个django网站上,通常的做法是用cron定时运行一些自定义的管理命令。

不过,我发现了这个http://code.google.com/p/django-cron/

它是怎么工作的,为什么不需要cron呢?是什么触发它去检查的?

如果它只是设置了一个地址,让http请求定期访问,那如果这个任务执行得很久,服务器不会超时吗?

2 个回答

6

它不断地启动一个 Timer 线程,这个线程的主要任务就是等待一段设定好的时间(这个时间就是你在 settings.py 里设置的轮询频率),然后再在 django-cron 队列上运行 execute

4

这要看Django是否是一个长期运行的程序,如果配置得当,它就是这样。Django会每5分钟(默认情况下)启动一个线程,检查是否有需要执行的任务,如果有的话,就会把这些任务运行起来。

撰写回答