How fetch_feed() works?

1 fetch_feed will get the feed and store it, along with the time it was fetched.

2 Every time the page with the feed is generated the time will be checked. If it is more than twelve hours ago, the feed will be reloaded. Note that this may interfere with caching plugins, who will bypass the normal page generation. Also, if the site is visited very little, the first visitor after twelve hours may still see the old feed, because WP is not particularly good at cron jobs.

3 If you don’t specify another time twelve hours is the caching time for the feed. You may set up any other interval with this snipppet:

function feed_interval( $seconds ) {
  return 3600; // caching time in seconds
  }
add_filter( 'wp_feed_cache_transient_lifetime' , 'feed_interval' );