0

我想知道您对在 PHP 的服务器端运行脚本的看法!

其实我的想法是:

EXECUTE CRON(){
   IF TASKS TO DO {
     RUN PHP SCRIPT FOR USER MISSING THIS TASK in BACKGROUND
   }
}

为每个用户运行的脚本有点长,所以我需要继续使用尽可能少的资源来运行这个脚本。

我尝试使用shell_exec(),exec()等但没有成功,现在使用 JAVASCRIPT 使我的文件运行但它仍然不稳定。

你们认为最好的解决方案是让我的系统在后台执行任务并不断向我发送正在执行的任务的报告,或者设法停止它们并在我想要的时候恢复......?

非常感谢 :)

4

2 回答 2

1

问题是必须在服务器上安装 Gearman。

如果任务更简单或者您没有服务器权限,您可以通过 CURL 使用 CRON 执行 php 脚本:

* * * * * curl -s -o /dev/null http://example.com/tasks.php
于 2012-11-04T21:28:56.650 回答
1
<?php
set_time_limit(0);
$do_break = false;
do
{
  if(check_new_task())
  {
    do_task();
  }
  else if($break)
  {
    $do_break = true;
  } else
  {
    sleep(sleep_duration);
  }
} while(!$do_break);

您可以使用屏幕从 ssh 运行脚本

screen -S screenname

并在这个屏幕上运行一次 php 脚本记住你必须手动关心任务终止或......

于 2012-11-04T21:14:13.737 回答