0

私は中程度から優れたPHPプログラマーであり、ターミナル/シェルスクリプトの経験がありますが、頭を悩ませようとしているのは、バックグラウンドプロセスの背後にあるロジックであり、CronやCron Jobsではなく、継続的なデータフローです。

私は最近、TwitterストリーミングAPIとPhirehoseを使用してツイートを収集し、それらをDBに保存する小さなWebアプリを作成した人と話をしました。今は単純に聞こえますが、これはすべてプロセスとしてバックグラウンドで行われます。私が不慣れに慣れているのは:

プロセスの呼び出し->プロセスの終了->プロセスからのデータの処理。

これについて非常に異なるのは、それが常にノンストップで発生することです。ソケット接続の話もあったのを覚えています。

だから私の質問は:

  1. バックグラウンドプロセスを実行するとき、それは特定の機能の継続的なループですか?論理的に結論付けることができるのはそれだけですか、それとも「開いたまま」で発生するのでしょうか。
  2. この方程式でソケット接続は何をしますか?
  3. このタイプのプロセスの実行から、どのような形式のレイテンシーが継承されますか?

これが「コード固有の」タイプの質問ではないことは知っていますが、このタイプの質問に関する多くの情報を見つけることができません。

4

3 に答える 3

2

PHPの場合、cronジョブが1時間に1回程度スクリプトを実行するようにスケジュールされている可能性があります。スクリプトは継続的に実行されません。

PHPにはリソースに接続する多くの方法があり、これらのほとんどはソケットを使用します。Webサーバーに接続する場合file_get_contents()は、ソケットも使用しているため、気付かない可能性があります。

于 2012-04-10T15:58:47.533 に答える
1

1.バックグラウンドプロセスを実行するとき、それは特定の機能の継続的なループですか?論理的に結論付けることができるのはそれだけですか、それとも「開いたまま」で発生するのでしょうか。

いいえ、そのような継続的なループの要件はありません。バックグラウンドプロセスを呼び出して実行し、終了することもできます。他のプロセスのように実行されなくなります。バックグラウンドプロセスには役に立たないかもしれませんが、可能です。

2.この式でソケット接続は何をしますか?

ソケットは、異なるプロセス間の通信を可能にするために使用されることがあります。これは、IPC(プロセス間通信)とも呼ばれます。

3.このタイプのプロセスの実行から、どのような形式のレイテンシーが継承されますか?

はい、あらゆる形式の間接参照には代償が伴います。さらに、複数のプロセスを並行して実行する場合、コンピューターシステムがこれらの複数のプロセスを管理するためのオーバーヘッドもあります(これは最近ではとにかく実行されますが、プロセスが1つしかない場合は、管理するものがありません)。

于 2012-04-10T15:57:50.827 に答える
-1

バックグラウンドプロセスのチュートリアルを受講したい場合:http: //thedjbway.b0llix.net/daemontools/blabbyd.html-本当に便利です。Daemontoolsを使用すると、バックグラウンドプロセス(デーモン)の保守が非常に簡単になります。

于 2012-09-12T08:11:24.617 に答える