(本人是非科班出身,就是喜欢玩玩编程)
用winserver2012+django+iis 部署了web网站,网站正常访问,功能均正常
然后加入了django_apscheduler 定时任务管理,任务添加、修改、删除均在Django的Views中实现,通过页面也能操作。
能正常执行定时任务的情况如下:
1、当访问网站的时候
2、执行了 python manage.py runserver 后
问题就是本身就正常部署了IIS,不应该再执行 python manage.py runserver 定时任务也应该能正常执行啊
为什么不执行 python manage.py runserver 在不访问网站的时候,定时任务就不正常调用呢?
网上也看过了太多的方案,均无从下手,无法解决,望哪位大拿支持一下吧,求!
在使用Django中的定时任务时,它们是通过后台进程在执行的。当你在运行 python manage.py runserver 时,它会自动创建一个后台进程来管理定时任务,因此你会发现定时任务正常执行。
但是在IIS下,不会自动创建后台进程,因此当你在不访问网站的情况下运行应用程序时,定时任务不会被执行。为了让定时任务正常执行,你可以使用类似于Supervisor这样的进程管理器,或者在系统启动时自动启动一个脚本来运行你的Django应用程序,这样就能确保定时任务一直在后台运行。
另外,为了更好地在IIS中运行Django应用程序,你可以使用WSGI来部署应用程序,这可以让你更好地控制应用程序的生命周期并更好地管理后台进程。
感谢各位,我已经解决了
他爹,请问是怎么解决的,我现在也遇到了这个问题。
iis启动后,网页配置定时时间在几分钟后执行是没问题的,但是如果设置几个小时候就不执行了