首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
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
拉勾
V2EX  ›  Python

为啥感觉用 Celery 的大公司比较少

  •  1
     
  •   YuuuZeee · 170 天前 · 7542 次点击
    这是一个创建于 170 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT 不知道是不是个人见识比较少 感觉国内用 python 的远不及 java 的多。。。然后同理导致使用 Celery 的公司也很少。。。

    同事们好多都是表示没听说过这个东西=-=

    面试的时候好不容于遇到一个用这个的。。。只会用这个发邮件。。。问点消息中间件 /Celery 是如何处理一个 task 的就 GG

    个人感觉这个东西是类似调度系统来离线 /异步去执行各类任务的 而且感觉 learning curve 也不高呀。。。咋没啥人用

    用 Celery 的筒子们举起你们的小手手!

    52 回复  |  直到 2019-01-31 21:29:29 +08:00
        1
    zhuangzhuang1988   170 天前
    动态语言没啥用.
        2
    lfzyx   170 天前
    只会用 celery 发邮件的🙋‍♂️
        3
    ericls   170 天前 via iPhone
    挺多的啊 这个几乎是行业标准
        4
    Yeungsin   170 天前
    我们在用,不过 worker 太多,撑不住,把 celery 好几个功能都关了,差不多当成普通 MQ 了
        5
    zwh2698   170 天前 via Android   ♥ 1
    从稳定性说 Java 确实优于 python,尤其是大量用户的时候,Java 更有优势
        6
    Yeungsin   170 天前
    想起来 4.2.0 有一个内存泄露的 bug 还在等着修复😔
        7
    Zzdex   170 天前
    只用 celery 来发邮件,处理定时任务,更深的没研究过,,,
        8
    YuuuZeee   170 天前
    @Yeungsin 诶 就是想交流一下这方面大家是如何去管理多个 worker 的。。。。
        9
    cz5424   170 天前
    @YuuuZeee flower 了解一下
        10
    20150517   170 天前
    因为正常人都用比如 aws sqs 这种云集成的服务,单独开这个不合算
        11
    0xABCD   169 天前 via Android
    用 py 的人这个应该要知道吧
        12
    gstqc   169 天前 via Android
    我们用得多,大厂
        13
    neoblackcap   169 天前   ♥ 1
    其实是跟编程语言相关的,虽然 celery 说自己也是一个 actor 框架,任务队列。但是相对于 Java,你说 actor 框架,他们有 akka,任务队列也不少。还有就是队列什么他们一个都不少,有真线程,最简单的难道不是开一个线程去干,干完了就同步一下以及回调吗?
        14
    YuuuZeee   169 天前
    @gstqc 方便透露哪些大厂吗=-=感觉找不到队友呀
        15
    Eds1995   169 天前 via Android
    celery 坑还是蛮多的,特别定时任务,我们一般用来做定时任务,还有数据导入导出。
        16
    Eds1995   169 天前 via Android
    还有就是 celery 不支持 redis cluster 集群模式,导致 redis 集群只能用 Sentinel
        18
    blless   169 天前 via Android
    额 真需要强事务写数据库就好了吧…我是想不出使用场景
        19
    janxin   169 天前
    用 Java 的确实比 Python 多,这没什么奇怪的呀
        20
    noobsheldon   169 天前 via Android   ♥ 1
    celery 的任务队列不是就把消息队列包一层,然后帮你写好了生产者和消费者吗?你调 task.delay()的时候,MainProcess 把调用函数及参数序列化一下,然后 WorkerProcess 再反序列化一下调用信息,找到对应的 task,并使用得到的参数进行调用。个人的一点看法,交流一下。
        21
    ashin   169 天前
    感觉 celery 自身一点都不稳 issue 里面好多 bug 的样子,感觉还是比较重又容易出问题,可能是我太菜,现在用的 worker 使用 gevent 的模式每次启动后差不多 3 分钟后的样子就会稳定的报一次连接 mq 的错误,然后再也不发生,对业务貌似没有实际影响,prefork 的话大概 15 分钟发生。而且 flower 现在也有 bug 的样子 页面点 worker 根本进不去,其他都正常
        22
    GoLand   169 天前 via iPhone
    我们公司也重度使用 celery 吧,中等厂。挺好的。
        23
    zhangsen1992   169 天前
    我记得 zhihu AD 都用过这个吧
        24
    akmonde   169 天前
    关键 v 站玩这个的也不算多...
        25
    zhengxiaowai   169 天前
    celery 坑太多真的太多,异步任务可以使用消息队列替代,定时任务那就更多了。

    celery beat 添加修改任务,必须要重启,这个太坑了
        26
    scriptB0y   169 天前
    我一开始也基本是个项目都需要用 Celery,后来发现 uWSGI 自带了一个简单的 Spooler 可以处理大部分异步任务和周期运行的任务( 2min 以内可以)

    https://www.kawabangga.com/posts/3101
        27
    qq976739120   169 天前
    我到现在都没学会怎么用 celery 往指定的 exchange 发消息...所以干脆自己封装了一个,还蛮好用的
        28
    fatpa   168 天前
    搭配 redis 做消息对列,基本就可以实现一个定时 scheduler 和一堆无限拓展的 woker 了,之前做监控和消息推送用这样的方案实现
        29
    Ehco1996   168 天前
    我们这也重度依赖 celery
    比较可怕的是我们居然用他做数据同步
        30
    kingfighters   168 天前
    @fatpa 为什么用 redis 做消息队列,不该用 rebbitmq 么?其实可以了解一下 airbnb 开源的 airflow,之前搭过一个类似的系统,不过当然没有 airflow 那么功能全,也是业务场景不需要。。
        31
    liudi1990   168 天前
    Robinhood 在用 并且主要的 contributor 在他家 fte 你感受一下
        32
    YaphetYin   167 天前 via iPhone
    @Eds1995 4.2 我记得支持了
        33
    YaphetYin   167 天前 via iPhone
    踩了不少坑,最奇葩的一个是 4.2 下 chunks.group.skew 竟然需要 eval 一下才能正确执行,感觉不到测试的气息。看有人已经提了 issue,4.3 会修复。还有他家文档极其不友好,什么 status,state,这种一些类似的属性都不给说明,用得心累
        34
    lolizeppelin   167 天前
    直接拿 openstack 相关代码用 用什么 celery

    作者家的 kombu 还是不错的 233
        35
    eloah   167 天前
    之前用过......
    生产环境上内存泄漏,调度停止什么的不要太多,提了 Issue 修复也不发版本
    反正我是觉得挺坑的
        36
    ytmsdy   167 天前 via iPhone
    之前用 celery 做异步队列,结果在做异步推送的时候碰到 bug。4 万多个设备每个设备推送了 9 个一样的通知,被老板骂死。然后再也不敢用 celery 了。
        37
    fushall   167 天前
    目前的实习公司目前准备从 celery 转到 dask
        39
    hotea   167 天前
    复杂的异步任务用 celery,一般的用 rq 比较好,简单
        40
    kingfighters   166 天前
    @ytmsdy 后来用什么了?
        41
    YuuuZeee   166 天前
    @ytmsdy 后来换啥了
        42
    sampeng   166 天前 via iPhone
    消息中间件一抓一大把有什么好奇怪的
        43
    ashCloud   166 天前
    python 还是外企用的多一点
        44
    fatpa   165 天前
    @kingfighters 并发量不那么高的时候,就没必要折腾那么多组件了,维护成本也是不小的
        45
    foxyier   163 天前
    路过的表示这东西坑很多,自己试玩了一个来月果断弃了
        46
    ytmsdy   162 天前
    @kingfighters
    @YuuuZeee
    老老实实用了 rabbitmq
        47
    gsw945   162 天前 via Android
    不知道大公司用什么,我用 APScheduler 加其它服务 替代 Celery 了
        48
    jerrychan807   133 天前
    @Eds1995 定时任务好多坑呀,如果用 UTC 时区,就正常运行。改成东八区时区,就不行了。你们有遇到这个时区的问题吗?我的用的 django-celery-beat
        49
    AlexMercerZ   71 天前
    @zhuangzhuang1988 没啥用你就别用 bb 啥
        50
    AlexMercerZ   71 天前
    @zhuangzhuang1988 因为你垃圾 所以你觉得没啥用
        51
    YuuuZeee   70 天前
    @jerrychan807 我也遇到了 最后解决方式是用 crontabjob
        52
    TesterCC   48 天前
    用 celery 发邮件和处理定时任务的+1,另一个同事用来跑爬虫,目前开发中并没有什么特别深入的使用。主要也是担心不稳定。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2114 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 21ms · UTC 15:57 · PVG 23:57 · LAX 08:57 · JFK 11:57
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1