Hi,

I've bumped into this issue intermittently. Feeds somehow stop reading newer articles from the rss and the message is returning no new articles. But when i checked the feeds:queue there's none. and manual import also not recognising newer data. I couldn't find any error in db log also. Could there be any cache issue ?

Comments

naingoted created an issue. See original summary.

megachriz’s picture

Status: Active » Fixed

It could be an issue with the site that is providing the RSS file. Before Feeds downloads the source it asks it if the content has changed since a particular date. If that source says no, then Feeds does not download the source.

More technically, it works like this:

  1. Feeds downloads from an url for the first time.
  2. The resource sends a file along with the header 'last-modified', which contains the date that the content was last modified. Feeds saves this date in a cache.
  3. Feeds is requested by the user to download from the same url.
  4. Feeds sends a request with the header 'If-Modified-Since', which contains the date that the resource had sent during the previous import.
  5. The resource checks if there is content that is newer than the given date. If not, it returns status code 304 (not modified).
  6. When Feeds receives a 304 status code, it aborts the import process.

If you rebuild caches, then Feeds forgets about the last modified date, so if I'm correct that the issue is caused by the resource saying there's no new content, than that should fix the issue.

naingoted’s picture

Status: Fixed » Active
StatusFileSize
new87.6 KB

Hi,

thanks for the prompt reply. I did try doing 'drush cr' and do a manual import. it didn't work. Is there any dirty way that i could go into db table to make feeds forget about the last modified date? or any cache at all. because last successful import was two days ago but the rss feed is updated today. i've attached a screen shot.

megachriz’s picture

If drush cr didn't help, then it might not be a caching issue. What target have you set as unique?

naingoted’s picture

I've set this field in the screenshot as unique. But it was working until two days ago. Could there be anyway that i could debug with db tables ? Like editing one unique id so that feeds will import that article again?

naingoted’s picture

i created a new endpoint for rss feed and copied the contents from old url which isn't working. And it works!. which means feeds caches something from that old url and not reading new data like you said. but still couldn't figure out which table saves that cache.

carsonw’s picture

I ran into this same issue and racked my brain against this for a couple of hours.

I finally discovered that Varnish was the culprit. By disabling Varnish, the last-modified HTTP header is now always accurate for the feed, and feeds imports properly.