I've got a site that tracks about 200 feeds. I'd like it to track even more than that ultimately.

I was under the belief that when I run cron, my feeds are supposed to refresh, check for new items and then suck them in.

This isn't happening. When I run cron manually, a few of them refresh....and that's it.

a) are they supposed to all refresh?
b) what could be causing this?

I've read previous posts where the finger was pointed at poormanscron. I'm not running poormanscron. I'm just clicking the run cron link in the admin in the hopes that my feeds will refresh for me.

Comments

fluxline’s picture

i think it depends on a few things, the limits on how long a php script can be run being one. can be configured in your php.ini. you would need to set it greater than how long it would take to retrieve the feeds and any of the other parser functions. with 200 feeds that could be long time.

aron novak’s picture

Well, this is the expected behaviour of FeedAPI. If the time-budget is exhausted, it simply ends the processing.
What to do:
- Set a bigger max_execution_time in php
- Go to admin/settings/feedapi and set Cron time for FeedAPI [%] to a bigger value.

bryansd’s picture

Version: 6.x-1.2 » 6.x-1.3

I've been running into a similar problem where increasing the bigger max_execution_time as well as the FeedAPI [%] didn't seem to resolve the issue. I would go for hours without any mention in the logs that the cron completed. I found that I did get slightly better results switching from the parser from Common Syndication to SimplePie. What finally resolved my issue with the cron not completing was to run cron.php every half hour instead of once an hour.

bryansd’s picture

OK, running the cron.php every half hour did not really solve my problem. It appears to me that when the core's Available Updates runs to check and see which modules are needing updated, resources become tight.

While plaing with the max_execution_time and FeedAPI can help, in this situation it looks as if PHP5 users will also want to look at the max_input_time. I've set my max_execution_time to 45 and my max_input_time to 120.