需要实现多任务的工作流程,支持定时任务、延时任务,能上生产环境,不是玩具。
谢谢各位。
需要实现多任务的工作流程,支持定时任务、延时任务,能上生产环境,不是玩具。
谢谢各位。
|
1
xxljob 。延时任务原生没有,但是你可能可以参考这篇 https://blog.csdn.net/renkeyutian/article/details/131702203
|
|
2
|
|
3
temporal
|
|
4
简单点也可以普通脚本配合 K8S 的 cornjob 。。。
|
|
saxonblue17Jul 15, 2024
5
同问题,Go 有吗?
|
|
6
python 直接上 airflow
|
|
changdigJul 15, 2024
7
celery
|
|
paopjianJul 15, 2024
8
面试考了 celery,那企业应该是用过了
|
|
9
@shimada666 之前在 Java 中用过,刚去 xxl-job 官方 GitHub 仓库貌似对 Python 支持有限啊。
@Lycnir 谢谢推荐,这个能简单介绍一下吗,门外汉了解起来感觉都差不多。 @masterclock 这个看起来挺不错的,不知道会不会太重了。 @nulIptr 小项目,不用 K8s 的方案有没有。 @SbloodyS 谢谢推荐。 |
|
10
python 也就 celery 和 apscheduler 能用
|
|
elronJul 15, 2024
12
celery 和 apscheduler 都能满足,而且 apscheduler 支持动态添加周期任务,celery 更偏向生产-消费模型
|
|
yangfan1999Jul 15, 2024
13
apscheduler +1
|
|
BBCCBBJul 15, 2024
14
支持延迟消息的 MQ,
redis zset 也可以实现.. |
|
knvaJul 15, 2024
15
一看到这种就想用青龙 ,怎么回事
|
|
rationa1cuzzJul 15, 2024
16
celery 和 apscheduler celery 相对稳定,建议搭配 rabbitmq 使用,apscheduler 适合简单场景,要额外处理多进程并发问题,实际使用起来或多或少都有一些问题
|
|
MasterlxjJul 15, 2024
17
mq ,方便好用
|
|
swim2sunJul 15, 2024
18
生产级别+python 能想到的只有 airflow ,但性价比不高,需要部署 N 个服务
不过你既要生产级别的稳定高可用,又要性价比高,感觉比较难,看你自己怎么权衡 |
|
fdsJul 15, 2024
19
工作流的话其实还有一个 https://github.com/spotify/luigi 。我们生产环境在用。不过需要外部定期触发。
|
|
masterclockJul 15, 2024
20
@amon 一个 go 的主程序一个数据库,应该也不算重
|
|
Davic1Jul 15, 2024
21
|
|
Davic1Jul 15, 2024
22
|
|
itskingnameJul 15, 2024
23
@SbloodyS airflow 太蠢了,我的代码只有 2 行,但是为了写这个 dag ,需要搞十多行代码。
|
|
raycoolJul 15, 2024
24
apscheduler +1
稳的很 |
|
KIDJourneyJul 15, 2024
25
性价比最高的方案就 while True 了
|
|
orioleqJul 15, 2024 via iPhone
26
airflow+1
|
|
fred649Jul 15, 2024 via Android
27
如果是 Django 的话可以试试过时的 Django Q ,蛮好用的
|
|
enrollsJul 15, 2024
28
所以,多少人天,写个 python 版或者 go 版本的也不困难 :)
|
|
yinminJul 15, 2024
29
大项目用 mq ,小项目用 asyncio.create_task 跑一个 task:
while True: try: await asyncio.sleep(1) # Check every 1 second ... ... except asyncio.CancelledError: log("Cleanup task cancelled") break except Exception as e: log(f"Error in cleanup task: {e}", "ERROR") |
|
R4rvZ6agNVWr56V0Jul 15, 2024
30
dramatiq 了解一下
|
|
lanlanyeJul 15, 2024 via iPhone
31
微:asyncio
中小:Celery 大:Temporal |
|
MartensJul 15, 2024
32
蹲一个 go 的
|
|
ETCartmanJul 15, 2024
33
|
|
34
其实性价比最高的定时器,应该是各个云厂商的 serverless ,配个触发器,然后选个 curl 镜像,里面扔个 curl 命令请求你的系统,请求头搞个 token 做鉴权就够了。
优先赛博菩萨 cloudflare https://developers.cloudflare.com/workers/examples/multiple-cron-triggers/ 其次国内云 https://help.aliyun.com/zh/functioncompute/user-guide/time-triggers https://cloud.tencent.com/document/product/583/9708 人家云服务的后台有账户管理、日志记录、失败可以重试、有告警,以前的那种额度够你免费用一年,现在一年也就十几二十块,比你自己搭建部署整天修漏洞打补丁还要搞多节点做高可用靠谱多了。 你还要做性价比高的延时任务?计算好触发时间,动态创建/修改/删除函数,把触发器时间设定为触发时间就行了,反正小系统也没多少条任务吧。 |
|
LattezJul 15, 2024
35
部署 dolphinscheduler
|
|
shijingshijingJul 15, 2024
36
@SbloodyS 推荐 airflow 是认真的吗?这玩意儿一上来风扇直接起飞,不差钱服务器资源管够做做 ETL 还不错,生产环境做业务实时处理不被老板骂死也被用户投诉死吧。
|
|
bronyakakaJul 15, 2024
37
Django-Q ,我已经用上了,好用不好用 谁用谁知道
|
|
chunhaiJul 15, 2024
38
crontab
|
|
jgarrickJul 15, 2024
39
apscheduler 多线程处理经常有问题.
既然都推荐 Celery, 我来推荐使用 Huey |
|
DinoStrayJul 15, 2024
40
sleep 有哪些缺陷呢?
|
|
ClericPyJul 15, 2024
41
azkaban/airflow, 只要有多任务依赖关系或者定时任务的,一定要上靠谱的,不然真脚本地狱
有条件的 Serverless + 自带调度器(比如 steps 或触发器或 gateway api )也挺好,很多运维的事比开发都麻烦 (虽然在写玩具准备接管一个类似 supervisor 的场景) |
|
HashV2Jul 16, 2024
42
我只用过 celery ,参数很多,文档要仔细看,不然在生产环境偶尔还是要出问题的。
另外如果你是用 django 的话,django5.0 在开发 django-tasks, 目前还是在开发阶段,稍微再等等应该就可以用了 |
|
6167Jul 16, 2024
43
celery+redis+rabbitmq ,定时和异步任务都用这个
|
|
flmnJul 16, 2024
45
python 不是该先试试 Celery 么
|
|
shimada666Jul 16, 2024
46
@amon 还行吧,目前我们服务 xxl-job 配合 pyxxl 这个 python 接入库在跑,额外配了个钉钉告警,挺稳的调试也方便
|
|
47
技术选型的时候,其他的 airflow 什么都调研了一遍,最后还是选择 xxl-job ,部署简单,资源占用少,该有的功能(秒级定时、cron 表达式可视化编辑、日志查看、支持任务依赖、任务超时等配置)都有,上手/运维难度极低,如果你想省心,推荐这个
|
|
galileo1214Jul 16, 2024
48
没有一个人用 crontab 吗
|
|
clementeJul 16, 2024
49
jenkins job
|
|
polluxJul 16, 2024
50
我推荐使用 https://faststream.airt.ai/latest/ faststream + NATS
|
|
julyclydeJul 16, 2024
52
@galileo1214 正常人不会用 crontab 的
因为你不能保证 crond 一直在运行 |
|
drymonfideliaJul 17, 2024 via iPhone
53
@shuimugan cf 这个有漏任务的概率(确定不是网络问题)
|
|
LatinJul 19, 2024
54
|
|
walker001Jul 21, 2024
55
@drymonfidelia 有具体的案例看看么
|
|
byronwindJul 26, 2024
56
airflow / celery
|
|
gmyxdsSep 11, 2024
57
我觉得基于 redis 的 zset 很好用,
|