2017-06-16 16 views
1

PHPを使用してApacheで実行されているWebサイトがあります。私は、加入者がサーバにログインしてプロセスを開始できるようにしたい。ブラウザは、プロセスを中断することなくブラウザからログアウトしたり閉じることができます。その後、ログインして進捗状況を確認したり、元のプロセスの結果を確認したりすることができます。これを達成する最善の方法は何ですか(完了までプロセスを実行し、ブラウザを閉じた後に)。(完了までプロセスが実行され、ブラウザが閉じられた後)

ちょうど私を正しい方向に向ける人を探しています。少数の人々がGearmanに言及した。

+0

この質問は広すぎます。特定の問題については問いませんが、シナリオに対する複雑な解決策が必要です。 – marekful

+0

この目的のために 'RabbitMQ'や' gearman'のようなジョブサーバを使います。 –

答えて

0

Gearmanが理想的な候補になります要件を満たすために必要なものすべてが用意されています(長時間実行されているCPUバインドされたプロセスを別のマシン、たとえばビデオエンコーディングに「バックグラウンド」する)。

Gearman PHP libraryがありますが、作業に適している場合は、ワーカーコードを別の言語で記述することができます。

進行状況を報告するには、ワーカーにRedisまたはMemcached(Webサーバーがアクセスできる一時的な種類の一時的な記憶域)に書き込むことをお勧めします。

GearmanサイトのPHP exampleを参照してください。学習のために、Webサーバー(クライアント)、Gearmanジョブキュー(サーバー)、処理ジョブ(ワーカー)用の3つの別々のVMを含むラボ環境を設定することをお勧めします。

関連する問題