启动/停止php脚本在浏览器后台运行



我是PHP新手。这是我第一次问,如果你的问题听起来很蠢,我先道歉。

我有一个php脚本,从外部API获取数据,并定期更新我的数据库。我知道最好的方法是使用cron job。但是,我使用的是在每次更新之间休眠一段特定时间的无限循环。

现在,我需要允许用户(管理员)启动/停止脚本,还允许他们更改每次更新之间的时间间隔。管理员通过UI完成此操作。最好的方法是什么?当用户单击start时,如何在后台执行脚本?如何停止脚本?

谢谢。

我认为理想的解决方案是:

  1. 让后台作业每分钟作为cronjob运行一次(而不是一个可能导致内存泄漏的循环)。

  2. 在cronjob中设置DB标志为开/关,每次运行时检查它是开还是关,如果关则存在,如果开则继续。

  3. 在UI中,您可以根据管理员的需要打开或关闭该标志。

我认为这是最好的方法(也是最简单的)。

你可能想看看PHP中的线程-> http://www.php.net/manual/en/class.thread.php

另一种选择是设置一个SESSION(这有点棘手,因为你不会在同一个调用中捕获它),或者生成一个文件,告诉脚本停止/退出/失败/无论该文件存在。

最新更新