liverpool08
V2EX  ›  PHP

话说 PHP 有没有类似 Python 的 celery 那样的分布式任务调度那样的东西呀

  •  
  •   liverpool08 · Dec 29, 2017 · 5074 views
    This topic created in 3060 days ago, the information mentioned may be changed or developed.
    感觉 celery 那样的分手是任务调度很好用呀。不知道 php 有没有相关实现的系统。之前用过 gearman 感觉差不多,但是由于是多语言的,而且已经很久不更新了,尤其是 php7 的相关扩展都是从第三方搞来的,pecl 上面都没有。
    还有一个是 beanstalkd,看了一下很不错,但是也是很久不更新了。之前自己用的是利用 swoole 的多进程来写的,但是任务分发,调度上面感觉没有什么好的方式。
    就想问一下 php 有没有类似 python 的 celery 那样的功能比较完善,并且还是更新的任务调度框架
    9 replies    2020-06-18 12:04:05 +08:00
    neoblackcap
        1
    neoblackcap  
       Dec 29, 2017
    gearman
    dilu
        2
    dilu  
       Dec 29, 2017
    C++自己写一个 反正我是不知道有什么类似的轮子
    mcfog
        3
    mcfog  
       Dec 29, 2017
    我一直觉得这种玩意儿挺矛盾的,如果你需求简单,那么直接搭 redis 也好 rabbitmq kafka 也罢直接用对应的官方 library 对接不就行了,初始化一个 connection,写个 push 和 blocked pop,不会超过一百行代码,就算写点延时重试之类的也不要几行代码

    如果你需求复杂,那么更应该自己接才能用到对应的后端服务的完整的特性,而不是这类类库强行统一接口搞出来的不完整的特性集

    我能想到的唯一有用的场景就是外包团队或者是卖程序的,客户可能有的想装这个有的想装那个,但外包不都 mysql 一把梭的嘛……客户那边能少装一个服务还不少装一个服务,不是很了解外包生态
    wujunze
        4
    wujunze  
       Dec 29, 2017
    我们用 beanstalkd 挺稳的
    nameldk
        5
    nameldk  
       Dec 29, 2017
    你是指 message queue 吧?
    liverpool08
        6
    liverpool08  
    OP
       Dec 29, 2017 via Android
    @nameldk 不,主要指任务的调度,分发,纯粹的 mq 挺多的
    liverpool08
        7
    liverpool08  
    OP
       Dec 29, 2017 via Android
    @wujunze beastalkd,不会觉得很久不更新吗,尤其是 php 扩展或者相关包,我之前用 gearman,想切换到 php7,pecl 上的扩展就不支持,只能去 github 找,也不确定会不会有不确定的 bug
    sodowe666
        8
    sodowe666  
       Jan 3, 2018
    rabbitmq
    simonkuang
        9
    simonkuang  
       Jun 18, 2020
    还是 celery 比较靠谱。docker 化部署一把梭,感觉不到语言的差异。除非是临时协助,或者外包,否则也没有啥后期维护的问题。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3014 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 06:38 · PVG 14:38 · LAX 23:38 · JFK 02:38
    ♥ Do have faith in what you're doing.