[development] estimating execution time left and hook_cron
Michael Prasuhn
mike at mikeyp.net
Fri Sep 18 19:45:19 UTC 2009
You may want to check out the Job Queue module, as it provides the
functionality you are looking for. You could either add a dependency
on it (recommended) or at least read through the code to see how it
works, to prevent timeouts (It has a feature to check execution time
and stop processing if the time reached is half of the max execution
time).
http://drupal.org/project/job_queue
-Mike
__________________
Michael Prasuhn
503.512.0822 office
mike at mikeyp.net
http://mikeyp.net
On Sep 18, 2009, at 10:16 AM, nitin gupta wrote:
> Hello,
>
> I am maintaining the module feedapi imagegrabber, which pulls the
> images from the original url of the feed items (just like google
> reader). It is implemented on the top of feedapi and hence
> implements the feedapi_after_refresh() hook, which is basically
> fired by the feedapi after it has refreshed the feed.
>
> Now, as my module download images from an external website, I can
> never be sure about the time it will take to complete the job of
> downloading images for all the feed items. Therefore, sometimes I
> get a 'fatal execution time exceeded error'. How can I know how much
> execution time is left, so that I can return on time by saving the
> rest of the work as a cron job?
>
> I have gone through the source code of FeedAPI which implements
> hook_cron(). It uses a variable called 'cron_semaphore', which I am
> guessing is some way to share execution time but am unable to get
> how. I will really appreciate if someone can explain the above to me
> or provide some tutorial links on writing a good hook_cron
> implementation.
>
> --
> Regards,
> Nitin Kumar Gupta
> http://publicmind.in/blog/
More information about the development
mailing list