barker/barker/barker/worker.py

36 lines
758 B
Python

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