基于 swoole 的多进程管理工具 multiprocess

MIT
PHP
跨平台
2017-12-02
peigreet

multiprocess

  • 基于swoole的脚本管理,用于多进程和守护进程管理;

  • 可轻松让普通脚本变守护进程和多进程执行;

  • 进程个数可配置,可以根据配置一次性执行多条命令;

  • 子进程异常退出时,主进程收到信号,自动拉起重新执行;

  • 支持子进程平滑退出,防止重启服务对业务造成影响;

  • 不限定编程语言,PHP/Python/Java/Golang/C#等脚本都可以管理

1. 场景

  • PHP/python/js等脚本需要跑一个或多个脚本消费队列/计算等任务

  • 实现脚本退出后自动拉起,防止消费队列不工作,影响业务

  • 其实supervisor可以轻松做个事情,这个只是PHP的另一种实现,不需要换技术栈

2. 流程图

流程图

3. 安装

4. 配置实例

  • 一次性执行多个命令

    'logPath'   => __DIR__ . '/log',
    'exec'      => [
        [
            'name'      => 'kcloze-test-1',
            'bin'       => '/usr/bin/php',
            'binArgs'   => [__DIR__ . '/test/test.php', 'oop', '123'],
            'workNum'   => 3,
        ],
        [
            'name'      => 'kcloze-test-2',
            'bin'       => '/usr/bin/php',
            'binArgs'   => [__DIR__ . '/test/test2.php', 'oop', '456'],
            'workNum'   => 5,
        ],
        [
            'name'      => 'kcloze-test-3',
            'bin'       => '/usr/bin/python',
            'binArgs'   => [__DIR__ . '/test/test3.py', 'oop', '369'],
            'workNum'   => 2,
        ],
    ],
的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

PHP 内核分析笔记(二)多进程与多线程SAPI生命周期

多进程SAPI生命周期 以Apache为例,PHP编译为apache的一个模块来处理php请求,Apache启动后会fork多个进程,每个进程拥有独立的内存空间,单独处理php请求,所以每个子进程都是完整的生命周期...

2018/12/09 21:00
2
0
python 线程池的坑及自己实现简化线程池

在一个项目中想要使用线程池,然后当时的方向是muliprocess 的threadpool ,网上还搜到一个threadoool。 当时心血来潮,看了网上一个例子就使用了threadpool, 链接如下https://pypi.python.o...

2017/11/30 00:26
340
0
进程和并发

我们已经讲过了什么是线程,那今天就来学习一下什么是进程,**进程(Process)**是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基...

04/25 11:41
0
0
IPC研究(4) ---- semaphores

============================================================ IPC --- System V IPC --- semaphores Related System Calls: [designed to work for arrays of semaphore values] #include...

2012/05/05 22:31
105
0
python中的Queue与多进程(multiprocessing)

最近接触一个项目,要在多个虚拟机中运行任务,参考别人之前项目的代码,采用了多进程来处理,于是上网查了查python中的多进程 一、先说说Queue(队列对象) Queue是python中的标准库,可以直...

2014/07/30 00:53
55.6K
9
python,限制任意函数,线程的执行时间或根据条件终止.

想写一个通用的decorator限制一个函数的执行时间. 首先想到的就是把函数执行封在一个线程了,执行结果写到线程的属性里,join指定时间后读线程的属性并返回.问题在于若函数没有执行完,读不到属...

2013/04/15 04:09
3.7K
1
Java Processes and Threads 进程与线程

Java 中程序到底是怎样运行的呢?我想我们先去理解一下进程与线程的概念吧。

2015/04/11 11:51
142
0
python nose(二)

Testing with nose Writing tests is easier nose collects tests from unittest.TestCase subclasses, of course. But you can also write simple test functions, as well as test classes...

2016/04/06 20:58
54
1
python和C语言互相调用的几种方式

1 2 3 4 5 6 7 8 9 版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖。如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/7594551.html 作者:窗户 QQ:6679072 E-mail:6...

07/04 17:31
2
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部