2012-11-04 14 views
0

我想知道你对PHP中服务器端运行脚本的看法!PHP中的服务器端作业系统

其实我的想法是:

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

为每个用户运行脚本是有点长,所以我需要用更少的资源可能这个行书保持。

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

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

非常感谢:)

+1

你们为什么需要比cron的详情?只需将需要在cron中运行的任务发送给eash用户,并且如果它们失败,则将输出发送给自己或者需要它的人。 – Codeguy007

+0

shell_exec(),exec()如何失败? – 2012-11-04 20:12:53

回答

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脚本...

+0

'if(break)'是什么? – zerkms

+0

不是这不是一个真正的代码,我的意思是$ break,而不是break。谢谢 – RezaSh

1

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

如果简单的任务,或者你没有对服务器的权限,你可以通过计划通过CURL执行PHP脚本:

* * * * * curl -s -o /dev/null http://example.com/tasks.php 
相关问题