import time from random import randint from background.celery_app import celery @celery.task(name='synchronize_marketplace') def synchronize_marketplace(marketplace_id: int): time.sleep(10) if randint(0,10) % 2 == 0: return 1 else: raise Exception('Some error') # async with session_maker() as session: # session: AsyncSession # marketplace: Optional[Marketplace] = await session.get(Marketplace, marketplace_id) # if not marketplace: # return # controller = MarketplaceControllerFactory.get_controller(session, marketplace) # await controller.synchronize_products()