Spaces:
Running
Running
import sys | |
from time import sleep | |
import logging | |
from pinecone_handler import PineconeHandler | |
import get_ads | |
from time_handling import timestamp_now, write_timestamp, read_timestamp | |
from settings import LOG_LEVEL, LOG_DATE_FORMAT, LOG_FORMAT, MAX_UPDATES, SLEEP_TIME_MINUTES | |
log = logging.getLogger(__name__) | |
logging.basicConfig(stream=sys.stdout, level=LOG_LEVEL, format=LOG_FORMAT, datefmt=LOG_DATE_FORMAT) | |
def keep_updated(): | |
handler = PineconeHandler() | |
last_timestamp = read_timestamp() | |
while True: | |
new_timestamp = timestamp_now() | |
log.info(f"Getting ads after timestamp '{last_timestamp}'") | |
if ads := get_ads.get_ads_since_time(last_timestamp): | |
handler.upsert_ads(ads) | |
else: | |
log.info(f"No ads found after timestamp '{last_timestamp}'") | |
write_timestamp(new_timestamp) | |
break | |
log.info('Finished') | |
if __name__ == '__main__': | |
""" | |
Important: | |
You must run bootstrap.py first to initialize Pinecone and | |
load current ads into the database (if applicable) | |
""" | |
keep_updated() |