使用django站点执行cron作业的正常方法是使用cron定期运行自定义管理命令。
但我发现了这个http://code.google.com/p/django-cron/
它是如何在不需要cron的情况下工作的?什么调用它进行轮询?
如果它只是为http请求设置一个地址,以便定期命中,那么如果作业需要很长时间,服务器不会超时吗?
它不断启动Timer
线程,其全部目的是等待定义的时间(您在settings.py中设置的轮询频率),然后再次在django-cron队列上运行execute
。
这取决于Django是一个长寿命进程,如果配置正确,它是长寿命进程。它运行一个线程,每5分钟检查一次(默认情况下),看看是否有任何作业需要运行,如果有,就运行它们。