2026-06-14 16:17:10 +08:00

47 lines
1.2 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""KTV产线交付质检服务 — verify_delivery as HTTP service"""
import sys, os
sys.path.insert(0, os.path.dirname(__file__))
from ahserver.webapp import webapp
from ahserver.serverenv import ServerEnv
from ahserver.configuredServer import add_startup
from longtasks.longtasks import LongTasks, schedule_once
from appPublic.log import debug
from workers.verify import VerifyWorker
class VerifyTasks(LongTasks):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
async def process_task(self, payload, workid=None):
import json
if isinstance(payload, str):
payload = json.loads(payload)
worker = VerifyWorker(self)
result = await worker.run_task(payload)
return result
async def on_app_built(app):
env = ServerEnv()
lt = env.longtasks
if lt:
schedule_once(0.1, lt.run)
debug('Verify delivery longtasks worker started')
def init():
env = ServerEnv()
env.longtasks = VerifyTasks(
'redis://127.0.0.1:6379', 'verify_delivery',
worker_cnt=1, stuck_seconds=600, max_age_hours=24
)
add_startup(on_app_built)
if __name__ == '__main__':
webapp(init)