diff --git a/hotdog/command/feed.py b/hotdog/command/feed.py index 4535dce..e624a57 100644 --- a/hotdog/command/feed.py +++ b/hotdog/command/feed.py @@ -30,6 +30,13 @@ def make_filter(config: Mapping[str, str]) -> Callable[[feeder.Post], bool]: return filter +def make_update_feed_cb(feed_id): + async def update_feed_cb(job: Job): + await update_feeds([feed_id], job) + + return update_feed_cb + + def init(bot): bot.on_command("feed", handle) @@ -63,13 +70,10 @@ def init(bot): every_period = feedconf.get(feed.id, {}).get("update_every") every_s = parse_period(every_period) if every_period else one_hour - async def update_feed_cb(job: Job): - await update_feeds([feed.id], job) - bot.add_timer( title=f"update feed: {feed.id}", every=every_s, - callback=update_feed_cb, + callback=make_update_feed_cb(feed.id), jitter=ten_percent * every_s, )