V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hztDbFXEed73dkMf
V2EX  ›  程序员

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

  •  
  •   hztDbFXEed73dkMf · 2017-06-29 10:25:30 +08:00 · 2817 次点击
    这是一个创建于 2707 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    呵呵,不懂就不要来 bb 嘲笑别人,这样很有优越感?
    dsphper
        7
    dsphper  
       2017-06-29 16:17:03 +08:00   ❤️ 1
    这种 需求并不需要定时任务来做,这种用触发条件来做就可以。pub_time < current_time 的才展示不就好了?
    当然如果不是“展示类“的业务,要处理秒级并发的定时任务可以 celery 这种分布式任务处理框架来处理大量的定时并发任务。
    imnpc
        8
    imnpc  
       2017-06-29 16:17:03 +08:00
    这个不用想了 微博 API 接口现在全限制死了
    dsphper
        9
    dsphper  
       2017-06-29 16:18:32 +08:00
    想了下 rundeck 也不错。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1096 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:52 · PVG 03:52 · LAX 11:52 · JFK 14:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.