Podcast Composer keeps source feed data fresh and avoids regenerating feed XML more often than necessary.
Source Sync
Source sync fetches a source RSS feed and updates the local WordPress episode index.
During sync, the plugin:
- Fetches the source feed URL.
- Parses XML.
- Extracts channel metadata.
- Extracts episode metadata.
- Marks existing source episodes as orphaned.
- Upserts current source episodes.
- Marks current episodes as not orphaned.
- Updates source status and last sync time.
- Clears related output feed caches.
- Refreshes output validation status.
Manual Sync
Manual sync is available at two levels:
- Project sync: syncs all sources in a project.
- Source sync: syncs one source feed.
Use manual sync when you need an immediate update.
Auto-Update Interval
Each source has an auto-update interval:
- Hourly.
- Twice Daily.
- Daily.
The plugin checks whether a source is due before syncing it in the background.
Background Jobs
Podcast Composer includes its own background job queue.
It does not rely on WP-Cron for the main output-feed-triggered background sync behavior.
When someone requests an output feed URL, the feed generator can schedule a project source sync task. The background processor later checks which sources are due and syncs only those.
Background Job Safeguards
The queue includes safeguards:
- Process lock to avoid overlapping runs.
- Dispatch interval throttling.
- Maximum dispatch count per window.
- Consecutive error blocking.
- Retry attempts for failed tasks.
- Memory limit checks.
Feed XML Cache
Generated output feed XML is cached in a WordPress transient.
Default cache duration:
180 seconds
This keeps feed requests fast while still allowing changes to appear quickly.
Cache Invalidation
The plugin clears output feed cache when you:
- Save output metadata.
- Save advanced settings.
- Add episodes to an output.
- Remove episodes from an output.
- Save episode overrides.
- Sync a source.
- Delete a source.
- Delete an output.
Why a Feed May Not Update Instantly
If you open a feed immediately after a source host changes, there can be several layers of delay:
- The source feed may not have updated yet.
- The source sync interval may not be due.
- The output feed XML cache may still be active for up to 180 seconds.
- Podcast apps and directories often cache RSS feeds independently.
Use Sync now on the source and then reload the public output feed after a few minutes.
If Background Jobs Stop
If background jobs appear stuck:
- Try manually syncing the source.
- Confirm
admin-ajax.phpis reachable. - Check for security plugins blocking internal admin AJAX requests.
- Check PHP error logs.
- Confirm your server can make HTTP requests to its own WordPress URL.
