aboutsummaryrefslogtreecommitdiff
path: root/data_collector/utils.py
blob: 6ca5c69a264de36d99ed9d1962cab19a2c44c251 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
from datetime import datetime, timedelta, UTC

from pymongo.collection import Collection

from components.subscriptions.main import Subscription
from components.subscriptions.typing import SubsDict

def collect_data(subs_collection: Collection[SubsDict]) -> None:
    for sub_dict in subs_collection.find():
        sub = Subscription(**sub_dict)
        sub._collection = subs_collection
        if datetime.now(tz=UTC) - sub.last_fetch > timedelta(seconds=sub.time_between_fetches):
            sub.fetch()