想请教一下, wsgi 项目计划任务的最佳实践?

2018-04-06 16:57:56 +08:00
 changrui0608
场景就是,比如 Flask、Django 写的 WSGI 应用吧,提供 Web 服务,同时希望定期(比如每 10 分钟)执行一些任务(清缓存、更新计算内容等等)

如果我对 WSGI 原理没理解错的话,假如把计划任务写进 Flask,那么如果希望以 WSGI 多进程的方式提高性能,实际会起多个 WSGI + Flask 组成的服务进程,这样计划任务就也是多个,在每 10 分钟 n 个进程就会执行 n 次定期任务吧?

所以想请教一下我的理解有没有错误,考虑周全一些的话计划任务应当如何实现呢?
3005 次点击
所在节点    Python
6 条回复
killpanda
2018-04-06 17:08:14 +08:00
celery
Miksztowi
2018-04-06 21:50:27 +08:00
写个 service 然后定时去调用一下?
crb912
2018-04-07 08:48:07 +08:00
Celery 处理定时任务的模块
julyclyde
2018-04-07 12:10:05 +08:00
你的理解有问题
junnplus
2018-04-07 18:35:23 +08:00
这取决于你的定时任务是怎么触发的,如果你在 flask 应用中触发,自然是有多少应用就会有多少次触发,如果你只是在代码中定义定时任务,触发由其他进程来管理,自然就是只触发一次,楼上们也给出了一些解决方案,celery 就是另外的进程来触发你的定时任务
Mojy
2018-04-20 18:01:45 +08:00
linux 系统定时任务了解一下~
django 的 django-crontab 了解一下~
坏处是上面那两种貌似都不支持 Windows

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/444686

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX