import sys from aiohttp import ClientSession from barker.core.config import settings as sett from barker.tasks.printing import sent_to_printer from .core.arq import settings sys.path.extend(["./"]) async def startup(ctx): ctx["session"] = ClientSession() print(f"Worker listening for: {sett.WORKER_QUEUE_NAME}") print(f"Worker printing on: {sett.WORKER_PRINTER_ADDRESS}") async def shutdown(ctx): await ctx["session"].close() class WorkerSettings: """ Settings for the ARQ worker. """ queue_name = f"barker:printer:{sett.WORKER_QUEUE_NAME}" redis_settings = settings functions: list = [sent_to_printer] on_startup = startup on_shutdown = shutdown # command to run arq barker.worker.WorkerSettings