【发布时间】:2012-01-04 07:08:44
【问题描述】:
我有 3 个脚本可以做一些事情。 我想连续并同时运行它们。
比如说: 第一个脚本需要 30 分钟才能完成。 第二 - 20 分钟。 第三 - 5 分钟。
所以我需要他们每个人在完成后立即运行。 这 3 个脚本在同一个数据库中进行 UPDATE,但它们需要单独工作。 他们可以一次一起跑,但不能跑几次(我的英语很烂,对此感到抱歉)。 让我们用例子来解释我的意思:
firstScript.php is running
secondScript.php is running
thirdScript.php is running
firstScript.php trying to start but it still running. Wait.(till finish)
可能有一些 shell 脚本可以完成这项工作,但如何?
【问题讨论】:
-
三个脚本都可以通过 url 访问吗?我唯一能想到的就是创建一个 cron 脚本,它按顺序向它们卷曲,并在运行时等待响应,然后再继续下一个,但这是一个非常丑陋的解决方案。考虑一下 - 这些脚本是否可以由您站点其他地方的用户流量运行,使用他们的请求进行远程调用? php 作为 Request-to-run 的性质使得很难利用这样的任务。
-
不。它们不能通过 url 访问。我需要手动运行它们。
-
是否可以选择将状态保存到磁盘?我可以想到一些方法来保存正在运行的页面文件,并在运行时先加载文件并确定从那里做什么。
-
我认为使用下面的方法会更容易。只需在脚本末尾“告诉”我需要再次执行它。但感谢您的帮助和时间。我真的很感激!