PHP-最多同时执行脚本/任务

时间:2018-08-22 08:35:27

标签: php multithreading plesk

我写了一个大型产品导入脚本,必须多次启动,这样才能利用多个内核。

如果我通过预定任务以plesk方式启动脚本8次,则它只能同时运行五个脚本:

PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
    4994 root      20   0 2956004 1.573g  16212 R  74.5  6.6  45:52.21 php
     1636 root      20   0 2976000 1.592g  16224 R  72.8  6.6  77:04.52 php
     4338 root      20   0 2971744 1.588g  16468 R  72.2  6.6  49:11.41 php
     4919 root      20   0 2985488 1.597g  16216 R  69.8  6.7  45:31.94 php
     5907 root      20   0 2958256 1.576g  16484 R  69.8  6.6  45:04.00 php

在哪里以及如何定义用户运行的最大脚本数?

当前在12核计算机上运行PHP 7.2.9。

只是看到任务没有开始:

| 2018-08-22 09:26:43 | 181 | scheduler-run-task                       | started     |               0 | ea66c06c1e1c05fa9f1aa39d98dc5bc1 | queue          | NULL           |         100 |             0 | 0000-00-00 00:00:00 |  4330 | NULL       |
| 2018-08-22 09:29:25 | 182 | scheduler-run-task                       | started     |               0 | ea66c06c1e1c05fa9f1aa39d98dc5bc1 | queue          | NULL           |         100 |             0 | 0000-00-00 00:00:00 |  4911 | NULL       |
| 2018-08-22 09:29:46 | 183 | scheduler-run-task                       | started     |               0 | ea66c06c1e1c05fa9f1aa39d98dc5bc1 | queue          | NULL           |         100 |             0 | 0000-00-00 00:00:00 |  4986 | NULL       |
| 2018-08-22 09:32:59 | 185 | scheduler-run-task                       | started     |               0 | ea66c06c1e1c05fa9f1aa39d98dc5bc1 | queue          | NULL           |         100 |             0 | 0000-00-00 00:00:00 | 26735 | NULL       |
| 2018-08-22 09:34:30 | 186 | scheduler-run-task                       | started     |               0 | ea66c06c1e1c05fa9f1aa39d98dc5bc1 | queue          | NULL           |         100 |             0 | 0000-00-00 00:00:00 | 31270 | NULL       |
| 2018-08-22 09:34:43 | 187 | scheduler-run-task                       | not_started |               0 | ea66c06c1e1c05fa9f1aa39d98dc5bc1 | queue          | NULL           |         100 |             0 | 0000-00-00 00:00:00 |     0 | NULL       |
| 2018-08-22 10:21:06 | 188 | scheduler-run-task                       | not_started |               0 | ea66c06c1e1c05fa9f1aa39d98dc5bc1 | queue          | NULL           |         100 |             0 | 0000-00-00 00:00:00 |     0 | NUL

因此,只有我在“顶部”可以看到的5个任务正在运行-我可以强制启动其他任务吗?

非常感谢您的建议。

1 个答案:

答案 0 :(得分:0)

尝试在文件末尾传递不同的参数,如./schedule.php 10013 或
使用诸如exec(./ scheduleOne.php 11014)之类的exec命令,对主脚本的主调度程序脚本调用会引起多个请求。