[nycphp-talk] PHP and running background tasks...
Brian Dailey
support at dailytechnology.net
Sat Feb 24 21:12:16 EST 2007
From the last link: "Note that you should never attempt to use these
process control forking functions when using a webserver; you should
only fork applications when using the PHP command line client."
I guess that kind of answers my question. exec() might actually be the
only solution, I'm not sure - it just seems somewhat untidy. I would
have to log any failures as I go along, I guess.
As an explanation of what I'm doing...
I have a cache. If an item in the cache is more than a week old, I want
to re-fetch the item. I could schedule a job to check for all week-old
objects and re-fetch them, but I think it would be more efficient to
only run the re-fetch if someone loads the cached item and it's more
than a week old (it's ok if web user gets the old item on that
occurance). I don't want to make the user wait for fetching the cached
item. I'd like to hand it off to another script that fetches it in the
background, and doesn't tie up the user with the operation.
I hope that clarifies what I'm trying to do. Perhaps exec() is my only
option.
- Brian
Hans C. Kaspersetz wrote:
> Brian Dailey wrote:
>> Hey guys, my google-fu is failing me today so I thought I would turn
>> to the brilliant minds of the NYPHP.
>>
>> What I'd like to do is be able to execute a php script in the
>> background that does NOT impact the load time of the page itself.
>> Something that runs in the background and doesn't tie up the web
>> server. Does that make sense? Do any of you have any idea how one
>> would accomplish this?
>>
> Fork off a php process and let it run separately. I think Synder, Hans
> Z and Hendry were doing this for a app a couple of years ago with some
> success. When the forked process is done it calls the original script
> and reports. But you have to be conscious of garbage processes.
>
> http://us3.php.net/manual/en/function.pcntl-fork.php
> http://us3.php.net/pcntl
> http://www.electrictoolbox.com/article/php/process-forking/
>
> Hans K
> New Jersey Web Design
> http://www.cyberxdesigns.com
> _______________________________________________
> New York PHP Community Talk Mailing List
> http://lists.nyphp.org/mailman/listinfo/talk
>
> NYPHPCon 2006 Presentations Online
> http://www.nyphpcon.com
>
> Show Your Participation in New York PHP
> http://www.nyphp.org/show_participation.php
>
>
More information about the talk
mailing list