
目前想写一些定时任务挂在服务器上,主要大概有两类:
看了一些框架:
各位 v 友有什么建议吗?你们在项目中都是怎么做定时任务的?
1 jadec0der 2018-12-27 00:35:24 +08:00 crontab |
2 mrchi OP @jadec0der 我想写一套东西,以后添加新定时任务的时候直接扔代码和运行配置就好了,再就是能够出错重试,然后对结果啥的能进行查看,crontab 的结果就只能往日志里写了吧 |
3 Kylin30 2018-12-27 00:45:36 +08:00 while true |
4 xiexingjia 2018-12-27 01:06:19 +08:00 huey |
5 Oneneuuu 2018-12-27 01:07:17 +08:00 via Android 就 celery 吧? |
6 Rebely 2018-12-27 01:18:23 +08:00 via Android |
7 user919lx 2018-12-27 01:23:31 +08:00 我是做数据开发的,需要处理大量的定时任务,还有重重复杂的依赖关系。 很推荐用 Airflow,已经有非常多的公司在使用这个调度系统了,就调度这件事而言,我觉得它提供的功能已经非常全面了,足够满足你的需求。 如果觉得官方文档比较难懂,可以参考我写的几篇博客,http://longfei.leanote.com/cate/bigdata 不过我这几篇都是概念和使用方法。如果你要想了解如何安装部署,要么看官方文档,要么就搜一下网络上的教程。 |
8 user919lx 2018-12-27 01:31:00 +08:00 按照你的需求, 部署 Airflow 配置个 LocalExecutor 就足够满足了。 1. 写一套东西,以后添加新定时任务的时候直接扔代码和运行配置 Airflow 的任务是用 Python 写的,你完全可以写成动态的形式,可以通过读取数据库或者 csv 文件来动态生成定时任务,事实上我在实践中经常这么用。 2. 能够出错重试,然后对结果啥的能进行查看 Airflow 提供 Web UI 界面,可以查看每个周期下的 task 的运行状态,还有完整的信息(执行时间、重试次数、运行日志等等),出错自动重试,可以发送邮件,并且有按钮能让你重试任务,连 ssh 登陆服务器都不需要。 |
9 smallgoogle 2018-12-27 04:42:28 +08:00 你这个直接就循环延时就行了。不需要用到啥定时器这些。 另外的定时任务。我写了一个。不知道合不合适你。我也是搞了好久。 |
10 fonlan 2018-12-27 07:48:11 +08:00 via Android 直接装个 jenkins 不就行了,So easy |
11 zmj1316 2018-12-27 07:58:54 +08:00 via Android Jenkins +1 log 也够用 配置也方便 |
12 aniua 2018-12-27 09:06:56 +08:00 一个简单的方法:写个 Infinite loop,检查 Localtime,匹配上就执行动作。 |
13 claymore94 2018-12-27 09:12:48 +08:00 threading.Timer, 做一个递归调用函数 |
14 sunnyadamm 2018-12-27 09:17:17 +08:00 via Android Python 内循环,服务器 nohup |
15 ooeyunarika 2018-12-27 09:22:46 +08:00 lz 举例的这些框架是分布式定时任务的,如果只是执行 lz 这些需求,没啥必要 内循环,python3 可以上 asyncio,或者直接用 crontab 就好了 |
16 rookiebulls 2018-12-27 09:28:02 +08:00 via iPhone 推荐 apscheduler,简单好用 |
17 Alfons 2018-12-27 09:30:17 +08:00 @claymore94 Good |
18 sujin190 2018-12-27 09:44:41 +08:00 https://github.com/snower/forsun 推荐下之前写的工具,系统定时器秒级定时,长时间运行无误差,支持 thrift 接口和 http 接口添加定时任务,redis 持久化任务,轻松管理千万级别定时任务处理,支持到期执行 shell、http、mysql、redis 等操作,也可以自己编写扩展添加执行器 |
19 matrix1010 2018-12-27 09:46:45 +08:00 via Android 其实 AWS lambda 和阿里云的函数都支持 cron, 每个月有免费额度,还有统计,报警等各种功能 |
20 meiyoumingzi6 2018-12-27 09:49:06 +08:00 via Android |
21 virusdefender 2018-12-27 09:49:12 +08:00 apscheduler 开发不活跃,但是绝对够用了,生产环境用了一段时间了 |
22 meiyoumingzi6 2018-12-27 09:50:06 +08:00 via Android 突然发现已经提到了 |
23 babykiss4ever 2018-12-27 10:10:19 +08:00 |
24 SmiteChow 2018-12-27 10:31:31 +08:00 异步 /计划任务系统? Python ?只能是 Celery |
25 chengxiao 2018-12-27 10:34:39 +08:00 t/509485#reply24 之前看到有人实现的分布式 cron 管理 就收藏了 |
26 richzhu 2018-12-27 11:14:18 +08:00 就 Celery 好了,想太多不累的嘛~ |
27 sunwei0325 2018-12-27 11:23:59 +08:00 awesome python 进去搜一下有好多 |
28 ibegyourpardon 2018-12-27 11:44:35 +08:00 |
29 hunter2015 2018-12-27 12:06:41 +08:00 celery |
30 HackerPainter 2018-12-27 13:28:11 +08:00 lugit |
31 HackerPainter 2018-12-27 13:29:07 +08:00 @HackerPainter luigi |
32 512357301 2022-01-11 22:33:32 +08:00 via Android 试试青龙面板,可以部署到本地的 |