This commit is contained in:
yumoqing 2026-05-21 18:40:08 +08:00
parent feb966cba4
commit 953a10ac58

View File

@ -31,29 +31,29 @@ from llmage.accounting import (
) )
def main(): def main():
logger = MyLogger('backend_accounting', levelname='info', logger = MyLogger('backend_accounting', levelname='info',
logfile=os.path.join(os.getcwd(), 'logs', 'backend_accounting.log')) logfile=os.path.join(os.getcwd(), 'logs', 'backend_accounting.log'))
info(f'Backend accounting process started (PID: {os.getpid()})') info(f'Backend accounting process started (PID: {os.getpid()})')
loop = asyncio.new_event_loop() loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop) asyncio.set_event_loop(loop)
def handle_signal(signum, frame): def handle_signal(signum, frame):
info(f'Received signal {signum}, shutting down...') info(f'Received signal {signum}, shutting down...')
for task in asyncio.all_tasks(loop): for task in asyncio.all_tasks(loop):
task.cancel() task.cancel()
loop.stop() loop.stop()
signal.signal(signal.SIGTERM, handle_signal) signal.signal(signal.SIGTERM, handle_signal)
signal.signal(signal.SIGINT, handle_signal) signal.signal(signal.SIGINT, handle_signal)
load_accounting() load_accounting()
try: try:
loop.run_until_complete(backend_accounting()) loop.run_until_complete(backend_accounting())
except asyncio.CancelledError: except asyncio.CancelledError:
pass pass
finally: finally:
loop.close() loop.close()
info('Backend accounting process stopped.') info('Backend accounting process stopped.')
if __name__ == '__main__': if __name__ == '__main__':
main() main()