我写了一个大型产品导入脚本,必须多次启动,这样才能利用多个内核。
如果我通过预定任务以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个任务正在运行-我可以强制启动其他任务吗?
非常感谢您的建议。
答案 0 :(得分:0)
尝试在文件末尾传递不同的参数,如./schedule.php 10013
或
使用诸如exec(./ scheduleOne.php 11014)之类的exec命令,对主脚本的主调度程序脚本调用会引起多个请求。