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

如何配置化服务端定时任务

  •  
  •   ivanksgulu · 2021-04-06 10:52:37 +08:00 · 3008 次点击
    这是一个创建于 1328 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如我服务端运行一段每隔 1 分钟运行的脚本,我想的是可以通过一个后台系统控制这个定时脚本,比如运行间隔,运行的具体任务,有什么好的设计方案吗?

    我目前想到的是这个任务在每次执行的时候去表里面获取这个任务对应的各种配置信息?主要觉得还是有点浪费,比如我一直不修改那就没必要请求了。

    17 条回复    2021-04-06 21:25:27 +08:00
    securityCoding
        1
    securityCoding  
       2021-04-06 10:56:37 +08:00
    分两块来看?
    1. 任务执行时间控制
    可以看看分布式任务调度框架,基本都提供实时调整执行策略功能
    2. 运行的具体任务
    这个应该属于业务内部范畴了,可以通过任务调度框架传递上下文参数
    ferock
        2
    ferock  
       2021-04-06 10:57:32 +08:00 via Android
    有很多成熟的任务调度分布式系统
    redtea
        3
    redtea  
       2021-04-06 10:59:30 +08:00
    XXL-JOB,但是要小心被黑拿去挖矿。
    aladdindingding
        4
    aladdindingding  
       2021-04-06 11:03:02 +08:00
    @ferock python 的有么
    ivanksgulu
        5
    ivanksgulu  
    OP
       2021-04-06 11:22:00 +08:00
    感谢各位回复,XXL-JOB 了解了下真的是大而全,执行的任务语言可以不受限制这点可以满足很多人了。
    akira
        6
    akira  
       2021-04-06 11:29:03 +08:00
    crontab 定时每分钟调用程序 A
    程序 A 里面去执行你配置好的任务
    ospider
        7
    ospider  
       2021-04-06 11:29:11 +08:00
    别想复杂了。。写个 web 界面读写 crontab 就好了
    InkAndBanner
        8
    InkAndBanner  
       2021-04-06 11:37:43 +08:00
    可以简单用 Spring 的那一套实现定时
    allisone
        10
    allisone  
       2021-04-06 11:43:56 +08:00
    python 的 django 框架结合 django-celery 、django-celery-beat 、django-celery-beat 可以实现定时任务配置化
    echowuhao
        11
    echowuhao  
       2021-04-06 12:34:24 +08:00 via Android
    airflow
    Jackeriss
        12
    Jackeriss  
       2021-04-06 12:47:08 +08:00 via Android
    apscheduler
    ivanksgulu
        13
    ivanksgulu  
    OP
       2021-04-06 14:35:50 +08:00
    感谢楼上补充了。了解了下 ,还是 xxl 很贴合我的业务,打算用 xxl 了
    woyao396
        14
    woyao396  
       2021-04-06 15:18:33 +08:00
    可以考虑一下 jenkins 很灵活 很强大
    dqzcwxb
        15
    dqzcwxb  
       2021-04-06 16:09:58 +08:00
    xxl-job 雪里的东西都挺好用
    MeteorCat
        16
    MeteorCat  
       2021-04-06 19:08:56 +08:00 via Android
    我都是 systemctl 写成 service 之后用 timer 调用的
    SbloodyS
        17
    SbloodyS  
       2021-04-06 21:25:27 +08:00
    dolphinscheduler
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3042 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 14:01 · PVG 22:01 · LAX 06:01 · JFK 09:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.