api pricing

This commit is contained in:
2025-02-27 12:37:02 -05:00
parent e13b871fda
commit da492180b4
8 changed files with 326 additions and 37 deletions

View File

@@ -5,16 +5,18 @@ from sqlalchemy.orm import Session
from app.services.product import ProductService
from app.db.models import File
from app.services.pricing import PricingService
from app.services.tcgplayer_api import TCGPlayerAPIService
class TaskService:
def __init__(self, db: Session, product_service: ProductService, pricing_service: PricingService):
def __init__(self, db: Session, product_service: ProductService, pricing_service: PricingService, tcgplayer_api_service: TCGPlayerAPIService):
self.scheduler = BackgroundScheduler()
self.logger = logging.getLogger(__name__)
self.tasks: Dict[str, Callable] = {}
self.db = db
self.product_service = product_service
self.pricing_service = pricing_service
self.tcgplayer_api_service = tcgplayer_api_service
async def start(self):
self.scheduler.start()
@@ -24,12 +26,16 @@ class TaskService:
def register_scheduled_tasks(self):
self.scheduler.add_job(self.hourly_pricing, 'cron', minute='45')
self.scheduler.add_job(self.inventory_pricing, 'cron', minute='40')
self.logger.info("Scheduled tasks registered.")
def hourly_pricing(self):
self.logger.info("Running hourly pricing task")
self.pricing_service.cron_load_prices()
self.logger.info("Finished hourly pricing task")
def inventory_pricing(self):
self.tcgplayer_api_service.cron_tcgplayer_api_pricing()
async def process_manabox_file(self, file: File):
self.logger.info("Processing ManaBox file")