0

同じクラスの 3 つのオブジェクトを異なるパラメーターでインスタンス化する PHP スクリプトに取り組んでいます。これらのオブジェクトは、(Cron ジョブのように) 無期限にメソッドを実行するため、次の行または 2 番目の行が開始されることはありません。

だから私が持っているなら

$a = new CronJob('Listing', '2010-04-01T00:00:01', '2010-04-01T00:30:01', 'A', 'BUSO');
$s = new CronJob('Listing', '2010-04-01T00:00:01', '2010-04-01T00:30:01', 'S', 'BUSO');
$p = new CronJob('Listing', '2010-04-01T00:00:01', '2010-04-01T00:30:01', 'P', 'BUSO');

$s$aは無限に実行されているため、実行されることはありません

どうすればこれを回避できますか? それらを異なるスクリプトで実行することを考えましたが、同時に実行したくありません3 * (#object types)

4

2 に答える 2

1

正直なところ、最善の策は、個別の cron ジョブ エントリを作成することです。PHP はネイティブではマルチスレッドをサポートしておらず、それを機能させるためのハックの多くはコストがかかります。

このスタックオーバーフローの質問を見てください: PHP アプリケーションでマルチスレッドを使用するにはどうすればよいですか?

アップデート:

Gearmanにもアイデアを投げかけたいと思っていました。外部拡張機能を追加できる場合は、PECL パッケージをダウンロードしてインストールします。ローカル システムにギアマン ビンが必要です。

于 2012-06-20T14:44:23.520 に答える
0

PHP スレッド化を検討しましたか?

これは、 PHP スレッドの問題に関する別の SO ディスカッションです。

于 2012-06-20T14:31:26.853 に答える