V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
bwijn
V2EX  ›  Python

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

  •  
  •   bwijn · 11 天前 via Android · 1374 次点击
    想到哪儿写到哪儿。

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

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

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

    关于我的试错和建议:

    celery 直接扔了 不要用了

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

    2.monkeypatch 性能问题 和 bug



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

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



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


    有人用过这个吗,https://github.com/hatchet-dev/hatchet 我主要需要它的 fair scheduling
    ddddd0
        11
    ddddd0  
       11 天前
    @ddddd0 多用户大批量长时间文件处理的时候,fairness 很重要;每个用户都能看到进度
    3085570450tt
        12
    3085570450tt  
       11 天前
    @ospider celery 它文档和找到的 demo 真的苦涩难懂,不想再用了
    encounter2017
        13
    encounter2017  
       10 天前
    celery 不是个任务分发工具吗,主要还是看执行的任务耗时吧,它本身会成为性能瓶颈吗?
    yh7gdiaYW
        14
    yh7gdiaYW  
       10 天前
    @198plus 这要看你最消耗性能的逻辑是用什么实现的,从我们的实践看,只要不在 pyhon 层写吃 CPU 性能的服务就没什么问题(反之是真的烂)。chatgpt 也是用 python 做的 web 服务,看起来一切 ok
    NullpoMino
        15
    NullpoMino  
       10 天前
    我也觉得 Celery 不好用
    hotea
        16
    hotea  
       10 天前
    感觉没喷到点上? celery 本身就不是解决异步 io 问题的,它是解决异步运行 cpu 耗时的任务的,跑在不同进程里,对于这种任务,快慢取决于任务本身的资源消耗了
    lijiachang
        17
    lijiachang  
       9 天前
    @198plus 如果是 io 密集的,完全没问题
    Masterlxj
        18
    Masterlxj  
       8 天前
    Celery 狗屎无疑,别用了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   783 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 23:26 · PVG 07:26 · LAX 15:26 · JFK 18:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.