Re: How to launch a background task from a web page
| From: | Daniel P. Brown | Date: | Thu, 30 Oct 2008 16:50:43 +0000 |
| Subject: | Re: How to launch a background task from a web page | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-282638@lists.php.net to get a copy of this message | ||
On Thu, Oct 30, 2008 at 11:38 AM, Tony Marston
<tony@marston-home.demon.co.uk> wrote:
> I have some long running scripts which I need to launch from a web page and
> have them run in the background, but which should not cause the web page to
> wait until the script finishes. Reading the manual on the backtick and
> exec() operators seems to imply that the PHP function will be suspended
> until the script finishes, which is not what I want. Is this possible in
> PHP?
There are a number of ways to do this, including (1) setting up
the process to be created as a cron job[1], run by cron independently;
(2) using a combination of exec('command &')[2] and
ignore_user_abort(1)[3] functions to force a command to daemonize and
continue running until completes; (3) work out a routine to use
process control[4]. All of these presume a *NIX system, of course.
Key:
1: http://www.underwaterdesign.com/2006/06/php_create_a_cron_job_with_php.php
2: http://php.net/function.exec
3: http://php.net/ignore-user-abort
4: http://www.php.net/manual/en/ref.pcntl.php
--
</Daniel P. Brown>
http://www.parasane.net/
daniel.brown@parasane.net || danbrown@php.net
Ask me about our current hosting/dedicated server deals!