关于 py 异步队列 异步支持选择问题

66 天前
bwijn  bwijn
想到哪儿写到哪儿。

老生常谈的话题,异步高并发

存在即合理一个东西存在就是为了解决某种问题。先把问题抛出来: 为什么要用异步?

是为了解决异步 IO 提高性能

关于我的试错和建议:

celery 直接扔了 不要用了

1.由于 decorater 封装 没补全,看着难受

2.monkeypatch 性能问题 和 bug



推荐 arq 快快快 还是快 async 原生支持

对于我这种不想换技术栈的,py 一把梭哈用 arq Redis



如果再追求极致性能用 golang 分开写了
1961 次点击
所在节点   Python  Python
18 条回复
4BVL25L90W260T9U
4BVL25L90W260T9U
66 天前
Celery 这种东西确实早该扔进垃圾堆了,我都怀疑好多人对 Python 的偏见是由 celery 的垃圾性能和 API 引起的。
bwijn
bwijn
66 天前
@ospider 这些远古时期的项目早该扔了。
ferock
ferock
66 天前
arq 是啥?我去研究一下
ferock
ferock
66 天前
看明白了,我用 APScheduler
198plus
198plus
66 天前
我其实挺想知道 python 和高并发三个字能扯得上关系吗
youngce
youngce
66 天前
大道至简,直接用 redis list rpop 完事了
rogwan
rogwan
66 天前
@bwijn 你的主线业务需要等队列任务执行结果吗?还是只需要丢进队列里就可以了,随便什么时候完成都可以
bwijn
bwijn
66 天前
@rogwan 需求:
解藕 任何需求提出来往 queue 里扔就完事,不需要考虑如何执行 像 scrapy 那样 怎么爽怎么来
julyclyde
julyclyde
66 天前
@ospider celery 性能为什么垃圾呀?
ddddd0
ddddd0
66 天前
celery 确实问题很多,也缺乏维护,不建议用了


有人用过这个吗,https://github.com/hatchet-dev/hatchet 我主要需要它的 fair scheduling
ddddd0
ddddd0
66 天前
@ddddd0 多用户大批量长时间文件处理的时候,fairness 很重要;每个用户都能看到进度
3085570450tt
3085570450tt
66 天前
@ospider celery 它文档和找到的 demo 真的苦涩难懂,不想再用了
encounter2017
encounter2017
65 天前
celery 不是个任务分发工具吗,主要还是看执行的任务耗时吧,它本身会成为性能瓶颈吗?
yh7gdiaYW
yh7gdiaYW
65 天前
@198plus 这要看你最消耗性能的逻辑是用什么实现的,从我们的实践看,只要不在 pyhon 层写吃 CPU 性能的服务就没什么问题(反之是真的烂)。chatgpt 也是用 python 做的 web 服务,看起来一切 ok
NullpoMino
65 天前
我也觉得 Celery 不好用
hotea
65 天前
感觉没喷到点上? celery 本身就不是解决异步 io 问题的,它是解决异步运行 cpu 耗时的任务的,跑在不同进程里,对于这种任务,快慢取决于任务本身的资源消耗了
lijiachang
64 天前
@198plus 如果是 io 密集的,完全没问题
Masterlxj
63 天前
Celery 狗屎无疑,别用了

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

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

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

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

© 2021 V2EX