From 3cb18829db0a5d79408569830f9f7ae6df06121a Mon Sep 17 00:00:00 2001 From: Vasily Zubarev Date: Tue, 7 Jan 2020 15:54:53 +0100 Subject: [PATCH] Add option to update one particular feed --- scripts/update.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/scripts/update.py b/scripts/update.py index 1caef09..3137b4e 100644 --- a/scripts/update.py +++ b/scripts/update.py @@ -37,17 +37,21 @@ socket.setdefaulttimeout(REQUEST_TIMEOUT) @click.command() -@click.option('--num-workers', default=DEFAULT_NUM_WORKER_THREADS, help="Number of parser threads") -@click.option('--force', is_flag=True, help="Force to update all existing feeds") -def update(num_workers, force): +@click.option("--num-workers", default=DEFAULT_NUM_WORKER_THREADS, help="Number of parser threads") +@click.option("--force", is_flag=True, help="Force to update all existing feeds") +@click.option("--feed", help="To update one particular feed") +def update(num_workers, force, feed): never_updated_feeds = BoardFeed.objects.filter(refreshed_at__isnull=True) - if not force: - need_to_update_feeds = BoardFeed.objects.filter( - rss__isnull=False, - refreshed_at__lte=datetime.utcnow() - MIN_REFRESH_DELTA - ) + if feed: + need_to_update_feeds = BoardFeed.objects.filter(rss=feed) else: - need_to_update_feeds = BoardFeed.objects.filter(rss__isnull=False) + if not force: + need_to_update_feeds = BoardFeed.objects.filter( + rss__isnull=False, + refreshed_at__lte=datetime.utcnow() - MIN_REFRESH_DELTA + ) + else: + need_to_update_feeds = BoardFeed.objects.filter(rss__isnull=False) tasks = [] for feed in list(never_updated_feeds) + list(need_to_update_feeds):