Fixing major bug around stale data when updating feeds.

This commit is contained in:
Samuel Clay 2012-03-21 16:05:52 -07:00
parent 028b027959
commit d74139e2ed
3 changed files with 8 additions and 8 deletions

View file

@ -631,10 +631,7 @@ class Feed(models.Model):
})
disp = feed_fetcher.Dispatcher(options, 1)
disp.add_jobs([[self.pk]])
disp.run_jobs()
self.last_update = datetime.datetime.utcnow()
self.set_next_scheduled_update()
feed = disp.run_jobs()
try:
feed = Feed.objects.get(pk=self.pk)
@ -643,7 +640,8 @@ class Feed(models.Model):
duplicate_feeds = DuplicateFeed.objects.filter(duplicate_feed_id=self.pk)
if duplicate_feeds:
feed = duplicate_feeds[0].feed
return feed
def add_update_stories(self, stories, existing_stories, verbose=False):

View file

@ -201,7 +201,6 @@ def exception_change_feed_address(request):
feed = feed.update()
feed = Feed.objects.get(pk=feed.pk)
usersub = UserSubscription.objects.get(user=request.user, feed=original_feed)
if usersub:
usersub.switch_feed(feed, original_feed)

View file

@ -180,7 +180,7 @@ class ProcessFeed:
self.fpf.entries = self.fpf.entries[:50]
if self.fpf.feed.get('title'):
self.feed.feed_title = self.fpf.feed['title']
self.feed.feed_title = self.fpf.feed.get('title')
tagline = self.fpf.feed.get('tagline', self.feed.data.feed_tagline)
if tagline:
self.feed.data.feed_tagline = utf8encode(tagline)
@ -409,6 +409,9 @@ class Dispatcher:
self.feed_stats[ret_feed] += 1
for key, val in ret_entries.items():
self.entry_stats[key] += val
if len(feed_queue) == 1:
return feed
# time_taken = datetime.datetime.utcnow() - self.time_start
@ -452,7 +455,7 @@ class Dispatcher:
def run_jobs(self):
if self.options['single_threaded']:
self.process_feed_wrapper(self.feeds_queue[0])
return self.process_feed_wrapper(self.feeds_queue[0])
else:
for i in range(self.num_threads):
feed_queue = self.feeds_queue[i]