mirror of
https://github.com/viq/NewsBlur.git
synced 2025-09-18 21:43:31 +00:00
Adding feed update history. Gotta get some metrics on the speed of the biggest cpu/network suck.
This commit is contained in:
parent
37743431be
commit
0a664b44a8
3 changed files with 22 additions and 3 deletions
|
@ -46,7 +46,7 @@ class Command(BaseCommand):
|
||||||
for feed in feeds:
|
for feed in feeds:
|
||||||
feeds_queue[i%num_workers].append(feed)
|
feeds_queue[i%num_workers].append(feed)
|
||||||
i += 1
|
i += 1
|
||||||
disp.add_jobs(feeds_queue)
|
disp.add_jobs(feeds_queue, i)
|
||||||
|
|
||||||
print "Running jobs..."
|
print "Running jobs..."
|
||||||
disp.run_jobs()
|
disp.run_jobs()
|
||||||
|
|
|
@ -344,3 +344,15 @@ class Story(models.Model):
|
||||||
db_table="stories"
|
db_table="stories"
|
||||||
ordering=["-story_date"]
|
ordering=["-story_date"]
|
||||||
|
|
||||||
|
class FeedUpdateHistory(models.Model):
|
||||||
|
fetch_date = models.DateTimeField(default=datetime.datetime.now)
|
||||||
|
number_of_feeds = models.IntegerField()
|
||||||
|
seconds_taken = models.IntegerField()
|
||||||
|
|
||||||
|
def __unicode__(self):
|
||||||
|
return "[%s] %s feeds: %s seconds" % (
|
||||||
|
fetch_date.strftime('%F %d'),
|
||||||
|
self.number_of_feeds,
|
||||||
|
self.seconds_taken,
|
||||||
|
)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from apps.rss_feeds.models import Story
|
from apps.rss_feeds.models import Story, FeedUpdateHistory
|
||||||
from django.core.cache import cache
|
from django.core.cache import cache
|
||||||
from apps.reader.models import UserSubscription, UserStory
|
from apps.reader.models import UserSubscription, UserStory
|
||||||
from apps.rss_feeds.importer import PageImporter
|
from apps.rss_feeds.importer import PageImporter
|
||||||
|
@ -327,10 +327,11 @@ class Dispatcher:
|
||||||
print "---> DONE WITH PROCESS: %s" % current_process.name
|
print "---> DONE WITH PROCESS: %s" % current_process.name
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
def add_jobs(self, feeds_queue):
|
def add_jobs(self, feeds_queue, feeds_count):
|
||||||
""" adds a feed processing job to the pool
|
""" adds a feed processing job to the pool
|
||||||
"""
|
"""
|
||||||
self.feeds_queue = feeds_queue
|
self.feeds_queue = feeds_queue
|
||||||
|
self.feeds_count = feeds_count
|
||||||
|
|
||||||
def run_jobs(self):
|
def run_jobs(self):
|
||||||
if self.options['single_threaded']:
|
if self.options['single_threaded']:
|
||||||
|
@ -360,6 +361,12 @@ class Dispatcher:
|
||||||
for key in self.entry_keys)
|
for key in self.entry_keys)
|
||||||
))
|
))
|
||||||
print done
|
print done
|
||||||
|
time_taken = datetime.datetime.now() - self.time_start
|
||||||
|
history = FeedUpdateHistory(
|
||||||
|
number_of_feeds=self.feeds_count,
|
||||||
|
seconds_taken=time_taken.seconds
|
||||||
|
)
|
||||||
|
history.save()
|
||||||
logging.info(done)
|
logging.info(done)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue