0

我正在开发一个 PHP 脚本,该脚本用不同的参数实例化同一类的三个对象。这些对象依次运行无限长的方法(如 Cron 作业),因此,下一行或第二行永远不会开始。

所以如果我有

$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 本身并不支持多线程,并且许多让它工作的黑客都是昂贵的。

看看这个堆栈溢出问题:How can one use multi threading in PHP applications

更新:

也想为Gearman提出这个想法。如果可以添加外部扩展,请下载 PECL 包并安装。您将需要本地系统上的齿轮箱。

于 2012-06-20T14:44:23.520 回答
0

你考虑过PHP 线程吗?

这是关于PHP 线程问题的另一个 SO 讨论。

于 2012-06-20T14:31:26.853 回答