36 lines
758 B
Python
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
|