2012-11-04 3 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

그리고 왜 당신이 크론보다 더 필요합니까? 작업을 eash 사용자를 위해 cron에서 실행할 필요가 있습니다. 실패하면 출력을 자신에게 보내거나 필요한 사람에게 보냅니다. – Codeguy007

+0

shell_exec(), exec()가 어떻게 실패 했습니까? –

답변

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); 

당신이 화면

screen -S screenname 

를 사용하여 SSH에서 스크립트를 실행 가 수동으로 작업 종료에 대해 신경을하거나 기억이 화면에 한 번 PHP 스크립트를 실행할 수 있습니다 ...

+0

'if (break)'무엇입니까? – zerkms

+0

이것이 실제 코드가 아니라는 것을 의미하지는 않습니다. $ break, break가 아닙니다. 감사 – RezaSh

1

문제는 Gearman이 서버에 설치해야한다는 것입니다.

간단한 작업이나 서버에 권한이 없습니다, 당신은 CURL을 통해 CRON과 PHP 스크립트를 실행할 수있는 경우 :

* * * * * curl -s -o /dev/null http://example.com/tasks.php