想做一个类似微博时光机定时发微博的功能,请问一下同时处理大量的定时任务有什么好的方案吗?

2017-06-29 10:25:30 +08:00
 hztDbFXEed73dkMf

比如有 100 个用户定在 2017 年 12 月 1 号 0 点发微博,那么我怎么在那个时间点触发 100 个任务呢,有什么好的方案吗?

2668 次点击
所在节点    程序员
9 条回复
warDoggie
2017-06-29 10:55:48 +08:00
-.- 大量 100 个
Yingruoyuan
2017-06-29 11:25:08 +08:00
用 python 脚本并发控制,然后把脚本放在 crontab 里
ihuotui
2017-06-29 12:26:30 +08:00
数据库不够么
就算千万级数据也是毫秒级别查询啊
Sanko
2017-06-29 13:29:29 +08:00
100 个也叫大量哈哈哈
hztDbFXEed73dkMf
2017-06-29 13:41:00 +08:00
还要调别人的 web 接口,1 分钟 100 下很可能被别人 block。分散到不同的机器去调估计又要 login 再次认证
dsphper
2017-06-29 16:10:58 +08:00
@warDoggie
@Sanko

呵呵,不懂就不要来 bb 嘲笑别人,这样很有优越感?
dsphper
2017-06-29 16:17:03 +08:00
这种 需求并不需要定时任务来做,这种用触发条件来做就可以。pub_time < current_time 的才展示不就好了?
当然如果不是“展示类“的业务,要处理秒级并发的定时任务可以 celery 这种分布式任务处理框架来处理大量的定时并发任务。
imnpc
2017-06-29 16:17:03 +08:00
这个不用想了 微博 API 接口现在全限制死了
dsphper
2017-06-29 16:18:32 +08:00
想了下 rundeck 也不错。

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

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

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

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

© 2021 V2EX