QPM-PHPマルチプロセス開発-Supervisor構成参考
QPMはPHPプロセス管理フレームワークであり、Daemonの開発を簡略化するために使用でき、プロジェクトアドレスは以下の通りである.https://github.com/Comos/qpm
QPMは、リリース0.2までに3つのSupervisonモード、OneForOne MultiGroup OneForOne、TaskFactoryModeをサポートしています.異なるモードでは、異なるプロセスツリーの組み合わせ、サブプロセスの再起動、同時制御のポリシーが異なり、異なるアプリケーションシーンに適応できます.異なるモードは異なるファクトリメソッドに対応しています.例えば、OneForOneの作成方法はqpmsupervisorSupervisor::oneForOne($config);
OneForOne
方法
qpm\supervisor\Supervisor::oneForOne($config)
シーンの操作
すべてのサブプロセスは、同じコールバック関数またはRunnableクラスを使用します.
フィールドの設定*runnableCallbackまたはrunnableClass.タイプcallableまたはqpmprocessRunnable runnableCallbackは、サブプロセスで実際のタスクを実行するコールバックです.runnableClassは、サブプロセス種で実際のタスクを実行するクラスとrunnableCallbackの2つを選択します. quantityタイプintegerデフォルト1コンカレント数. maxRestartTimesタイプintegerの最大再起動回数は、withInSecondsと組み合わせて使用されます. withInSecondsタイプintegerとmaxRestartTimesは、masterプロセスが所定の時間内に最大の再起動回数を示す.
例1
例2
MultiGroupOneForOne
方法
qpm\supervisor\Supervisor::oneForOne($config)
シーンの操作
MultiGroup OneForOneはOneForOneのアップグレード版で、OneForOneのプロセスを複数グループ管理できます.MultiGroup OneForOneの構成は、いくつかのOneForOne構成が組み込まれた配列です.
TaskFactoryMode
タスクファクトリモード、タスクは指定したファクトリメソッドによって生成されます.
方法
qpm\supervisor\Supervisor::taskFactoryMode($config)
シーンの操作
サブプロセスごとに実行されるタスクはそれぞれ異なり、異なるパラメータ、クラス、またはRun関数が必要であるため、各タスクはタスクファクトリによって生成されます.
フィールドの設定
*factoryMethod callableタスクオブジェクトまたはcallableを生成するファクトリメソッド.factoryMethod戻り値はqpmprocessRunnableまたはcallable quantityタイプintegerデフォルト1コンカレント数.
QPMは、リリース0.2までに3つのSupervisonモード、OneForOne MultiGroup OneForOne、TaskFactoryModeをサポートしています.異なるモードでは、異なるプロセスツリーの組み合わせ、サブプロセスの再起動、同時制御のポリシーが異なり、異なるアプリケーションシーンに適応できます.異なるモードは異なるファクトリメソッドに対応しています.例えば、OneForOneの作成方法はqpmsupervisorSupervisor::oneForOne($config);
OneForOne
方法
qpm\supervisor\Supervisor::oneForOne($config)
シーンの操作
すべてのサブプロセスは、同じコールバック関数またはRunnableクラスを使用します.
フィールドの設定*runnableCallbackまたはrunnableClass.タイプcallableまたはqpmprocessRunnable runnableCallbackは、サブプロセスで実際のタスクを実行するコールバックです.runnableClassは、サブプロセス種で実際のタスクを実行するクラスとrunnableCallbackの2つを選択します. quantityタイプintegerデフォルト1コンカレント数. maxRestartTimesタイプintegerの最大再起動回数は、withInSecondsと組み合わせて使用されます. withInSecondsタイプintegerとmaxRestartTimesは、masterプロセスが所定の時間内に最大の再起動回数を示す.
例1
例2
MultiGroupOneForOne
方法
qpm\supervisor\Supervisor::oneForOne($config)
シーンの操作
MultiGroup OneForOneはOneForOneのアップグレード版で、OneForOneのプロセスを複数グループ管理できます.MultiGroup OneForOneの構成は、いくつかのOneForOne構成が組み込まれた配列です.
TaskFactoryMode
タスクファクトリモード、タスクは指定したファクトリメソッドによって生成されます.
方法
qpm\supervisor\Supervisor::taskFactoryMode($config)
シーンの操作
サブプロセスごとに実行されるタスクはそれぞれ異なり、異なるパラメータ、クラス、またはRun関数が必要であるため、各タスクはタスクファクトリによって生成されます.
フィールドの設定
*factoryMethod callableタスクオブジェクトまたはcallableを生成するファクトリメソッド.factoryMethod戻り値はqpmprocessRunnableまたはcallable quantityタイプintegerデフォルト1コンカレント数.
QPMは、リリース0.2までに3つのSupervisonモード、OneForOne MultiGroup OneForOne、TaskFactoryModeをサポートしています.異なるモードでは、異なるプロセスツリーの組み合わせ、サブプロセスの再起動、同時制御のポリシーが異なり、異なるアプリケーションシーンに適応できます.異なるモードは異なるファクトリメソッドに対応しています.例えば、OneForOneの作成方法はqpmsupervisorSupervisor::oneForOne($config);
OneForOne
方法
qpm\supervisor\Supervisor::oneForOne($config)
シーンの操作
すべてのサブプロセスは、同じコールバック関数またはRunnableクラスを使用します.
フィールドの設定
例1
<?php
// 3 , justDoIt
$config = ['runnableCallback' => 'justDoIt', 'quantity' => 3];
$sup = qpm\supervisor\Supervisor::oneForOne($config);
$sup->start();
例2
<?php
// 5 , Foo::run()
//10 100 ,
$config = ['runnableClass' => 'Foo', 'quantity' => 5, 'maxRestartTimes'=>100, 'withInSeconds'=>10];
$sup = qpm\supervisor\Supervisor::oneForOne($config);
$sup->start();
MultiGroupOneForOne
方法
qpm\supervisor\Supervisor::oneForOne($config)
シーンの操作
MultiGroup OneForOneはOneForOneのアップグレード版で、OneForOneのプロセスを複数グループ管理できます.MultiGroup OneForOneの構成は、いくつかのOneForOne構成が組み込まれた配列です.
TaskFactoryMode
タスクファクトリモード、タスクは指定したファクトリメソッドによって生成されます.
方法
qpm\supervisor\Supervisor::taskFactoryMode($config)
シーンの操作
サブプロセスごとに実行されるタスクはそれぞれ異なり、異なるパラメータ、クラス、またはRun関数が必要であるため、各タスクはタスクファクトリによって生成されます.
フィールドの設定
*factoryMethod callableタスクオブジェクトまたはcallableを生成するファクトリメソッド.factoryMethod戻り値はqpmprocessRunnableまたはcallable
QPMは、リリース0.2までに3つのSupervisonモード、OneForOne MultiGroup OneForOne、TaskFactoryModeをサポートしています.異なるモードでは、異なるプロセスツリーの組み合わせ、サブプロセスの再起動、同時制御のポリシーが異なり、異なるアプリケーションシーンに適応できます.異なるモードは異なるファクトリメソッドに対応しています.例えば、OneForOneの作成方法はqpmsupervisorSupervisor::oneForOne($config);
OneForOne
方法
qpm\supervisor\Supervisor::oneForOne($config)
シーンの操作
すべてのサブプロセスは、同じコールバック関数またはRunnableクラスを使用します.
フィールドの設定
例1
<?php
// 3 , justDoIt
$config = ['runnableCallback' => 'justDoIt', 'quantity' => 3];
$sup = qpm\supervisor\Supervisor::oneForOne($config);
$sup->start();
例2
<?php
// 5 , Foo::run()
//10 100 ,
$config = ['runnableClass' => 'Foo', 'quantity' => 5, 'maxRestartTimes'=>100, 'withInSeconds'=>10];
$sup = qpm\supervisor\Supervisor::oneForOne($config);
$sup->start();
MultiGroupOneForOne
方法
qpm\supervisor\Supervisor::oneForOne($config)
シーンの操作
MultiGroup OneForOneはOneForOneのアップグレード版で、OneForOneのプロセスを複数グループ管理できます.MultiGroup OneForOneの構成は、いくつかのOneForOne構成が組み込まれた配列です.
TaskFactoryMode
タスクファクトリモード、タスクは指定したファクトリメソッドによって生成されます.
方法
qpm\supervisor\Supervisor::taskFactoryMode($config)
シーンの操作
サブプロセスごとに実行されるタスクはそれぞれ異なり、異なるパラメータ、クラス、またはRun関数が必要であるため、各タスクはタスクファクトリによって生成されます.
フィールドの設定
*factoryMethod callableタスクオブジェクトまたはcallableを生成するファクトリメソッド.factoryMethod戻り値はqpmprocessRunnableまたはcallable