function aggregator_cron
aggregator_cron()
Implements hook_cron().
Queues news feeds for updates once their refresh interval has elapsed.
File
- modules/aggregator/aggregator.module, line 311
- Used to aggregate syndicated content (RSS, RDF, and Atom).
Code
function aggregator_cron() { $result = db_query('SELECT * FROM {aggregator_feed} WHERE queued = 0 AND checked + refresh < :time AND refresh <> :never', array( ':time' => REQUEST_TIME, ':never' => AGGREGATOR_CLEAR_NEVER )); $queue = DrupalQueue::get('aggregator_feeds'); foreach ($result as $feed) { if ($queue->createItem($feed)) { // Add timestamp to avoid queueing item more than once. db_update('aggregator_feed') ->fields(array('queued' => REQUEST_TIME)) ->condition('fid', $feed->fid) ->execute(); } } // Remove queued timestamp after 6 hours assuming the update has failed. db_update('aggregator_feed') ->fields(array('queued' => 0)) ->condition('queued', REQUEST_TIME - (3600 * 6), '<') ->execute(); }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/modules!aggregator!aggregator.module/function/aggregator_cron/7.x