プロセスやシグナル送信などの作業を容易にするライブラリを知っていますか? 前もって感謝します!
編集: PHP デーモンで外部ソースからのデータの読み込みを行っています。PHP プロセスを次のように分割します。
- データ ソースごとに 1 つのロード プロセス、
- すべてのデータ ソースからのデータを処理するための 1 つのプロセス。
Sporkを確認することをお勧めします。これは、php での分岐とバックグラウンド処理を容易にするように設計されています。
これはかなり新しい (わずか 3 日前に発表された) ものですが、試してみる価値はあります。
プロセス制御ライブラリを使用できますが、Linux でのみ動作します。
目的のために、機能fork
が含まれていpcntl_fork
ます。例:
$pid = pcntl_fork();
if ($pid == -1) {
die('could not fork');
} else if ($pid) {
// we are the parent
pcntl_wait($status); //Protect against Zombie children
} else {
// we are the child
}
UPD:あなたの目標を正しく理解できれば、プロセスをフォークせずにアプリケーションを設計できます。最初のデーモンがデータ ソースを処理してキューに追加する 2 つのデーモンを使用できます。2 番目のデーモンは、キューを追跡して処理します。
Ps私が知っているように、phpはWindowsプラットフォームでプロセスをフォークできません。また、php でPOSIX 関数を使用することもできます。