ikarus/sps-multi-processing

v0.8.2 2021-03-18 16:32 UTC

This package is auto-updated.

Last update: 2024-09-19 00:24:19 UTC


README

多进程包附带示例插件,以实现由单个主sps引擎控制的异步sps操作。

安装

$ composer require ikarus/sps-multi-processing

用法

<?php
use Ikarus\SPS\CyclicEngine;
use Ikarus\SPS\SpawnedFileSPSPlugin;
use Ikarus\SPS\SpawnedCallbackSPSPlugin;
use Ikarus\SPS\SpawnedPluginAdapterPlugin;


$sps = new CyclicEngine(2);

$sps->addPlugin(
    new SpawnedFileSPSPlugin('my-sub-sps.php', 'my-id')
);

$sps->addPlugin(
    new SpawnedCallbackSPSPlugin(function() {
        // Do stuff but remember that this callback is executed in a separated process!
        // To get a plugin management you need to setup it in main SPS and include it into the callback.
    })
);

$myPlugin = new ACustomDesignedPlugin();
$sps->addPlugin(
    new SpawnedPluginAdapterPlugin(
        // This will invoke the plugin's update method in a separate process.
        $myPlugin
    )
);

在文件 my-sub-sps.php 中,您可以定义一个具有不同属性的全新sps实例。
它将单独调用。

注意事项

请记住,更新方法或更新回调是在主进程的副本中执行的。

选项

您可以使用包 ikarus/sps-common-management 通过通用管理解决不同sps进程的问题。