dev@locazia: fix startup args

This commit is contained in:
user 2024-02-29 23:22:48 +03:00
parent a427d75d61
commit 7f06ee9bd3
1 changed files with 96 additions and 98 deletions

View File

@ -1,100 +1,98 @@
import sys import sys
print(sys.argv) import traceback
from asyncio import sleep
from datetime import datetime
import asyncio, sys
# import sys from aiogram import Bot
# import traceback
# from asyncio import sleep from app.api import app
# from datetime import datetime from app.bot import dp
# import asyncio, sys from app.core._config import SANIC_PORT, MYSQL_URI, TELEGRAM_API_KEY
# from app.core._utils.create_maria_tables import create_maria_tables
# from aiogram import Bot from app.core.logger import make_log
# from app.core.models import Memory
# from app.api import app from app.core.storage import engine
# from app.bot import dp
# from app.core._config import SANIC_PORT, MYSQL_URI, TELEGRAM_API_KEY
# from app.core._utils.create_maria_tables import create_maria_tables async def queue_daemon(app):
# from app.core.logger import make_log await sleep(3)
# from app.core.models import Memory
# from app.core.storage import engine while True:
# delayed_list = {k: v for k, v in app.ctx.memory._delayed_queue.items()}
# for _execute_ts in delayed_list:
# async def queue_daemon(app): if _execute_ts <= datetime.now().timestamp():
# await sleep(3) del app.ctx.memory._delayed_queue[_execute_ts]
# app.ctx.memory._execute_queue.append(delayed_list[_execute_ts])
# while True:
# delayed_list = {k: v for k, v in app.ctx.memory._delayed_queue.items()} await sleep(.7)
# for _execute_ts in delayed_list:
# if _execute_ts <= datetime.now().timestamp():
# del app.ctx.memory._delayed_queue[_execute_ts] async def execute_queue(app):
# app.ctx.memory._execute_queue.append(delayed_list[_execute_ts]) await create_maria_tables(engine)
#
# await sleep(.7) telegram_bot_username = (await app.ctx.memory._telegram_bot.get_me()).username
# make_log(None, f"Application normally started. HTTP port: {SANIC_PORT}")
# make_log(None, f"Telegram bot: https://t.me/{telegram_bot_username}")
# async def execute_queue(app): make_log(None, f"MariaDB host: {MYSQL_URI.split('@')[1].split('/')[0].replace('/', '')}")
# await create_maria_tables(engine) while True:
# try:
# telegram_bot_username = (await app.ctx.memory._telegram_bot.get_me()).username _cmd = app.ctx.memory._execute_queue.pop(0)
# make_log(None, f"Application normally started. HTTP port: {SANIC_PORT}") except IndexError:
# make_log(None, f"Telegram bot: https://t.me/{telegram_bot_username}") await sleep(.05)
# make_log(None, f"MariaDB host: {MYSQL_URI.split('@')[1].split('/')[0].replace('/', '')}") continue
# while True:
# try: _fn = _cmd.pop(0)
# _cmd = app.ctx.memory._execute_queue.pop(0) assert _fn
# except IndexError: _args = _cmd.pop(0)
# await sleep(.05) assert type(_args) is tuple
# continue try:
# _kwargs = _cmd.pop(0)
# _fn = _cmd.pop(0) assert type(_kwargs) is dict
# assert _fn except IndexError:
# _args = _cmd.pop(0) _kwargs = {}
# assert type(_args) is tuple
# try: try:
# _kwargs = _cmd.pop(0) make_log("Queue.execute", f"{_fn} {_args} {_kwargs}", level='debug')
# assert type(_kwargs) is dict await _fn(*_args, **_kwargs)
# except IndexError: except BaseException as e:
# _kwargs = {} make_log("Queue.execute", f"{_fn} {_args} {_kwargs} => Error: {e}" + '\n' + str(traceback.format_exc()))
#
# try:
# make_log("Queue.execute", f"{_fn} {_args} {_kwargs}", level='debug') if __name__ == '__main__':
# await _fn(*_args, **_kwargs) startup_target = '__main__'
# except BaseException as e: try:
# make_log("Queue.execute", f"{_fn} {_args} {_kwargs} => Error: {e}" + '\n' + str(traceback.format_exc())) startup_target = sys.argv[1]
# except BaseException:
# pass
# if __name__ == '__main__':
# startup_target = '__main__' if startup_target == '__main__':
# try: app.ctx.memory = Memory()
# startup_target = sys.argv[3] app.ctx.memory._telegram_bot = Bot(TELEGRAM_API_KEY)
# except IndexError: dp._s_memory = app.ctx.memory
# pass app.ctx.memory._app = app
#
# if startup_target == '__main__': app.add_task(execute_queue(app))
# app.ctx.memory = Memory() app.add_task(queue_daemon(app))
# app.ctx.memory._telegram_bot = Bot(TELEGRAM_API_KEY) app.add_task(dp.start_polling(app.ctx.memory._telegram_bot))
# dp._s_memory = app.ctx.memory
# app.ctx.memory._app = app app.run(host='0.0.0.0', port=SANIC_PORT)
# else:
# app.add_task(execute_queue(app)) loop = asyncio.get_event_loop()
# app.add_task(queue_daemon(app)) startup_fn = None
# app.add_task(dp.start_polling(app.ctx.memory._telegram_bot)) if startup_target == 'indexator':
# from app.core.background.indexator_service import main as target_fn
# app.run(host='0.0.0.0', port=SANIC_PORT) elif startup_target == 'uploader':
# else: from app.core.background.uploader_service import main as target_fn
# loop = asyncio.get_event_loop()
# startup_fn = None startup_fn = startup_fn or target_fn
# if startup_target == 'indexator': assert startup_fn
# from app.core.background.indexator_service import main as target_fn
# elif startup_target == 'uploader': try:
# from app.core.background.uploader_service import main as target_fn loop.run_until_complete(startup_fn())
# except BaseException as e:
# startup_fn = startup_fn or target_fn make_log(startup_target[0].upper() + startup_target[1:], f"Error: {e}" + '\n' + str(traceback.format_exc()),
# assert startup_fn level='error')
# sys.exit(1)
# try: finally:
# loop.run_until_complete(startup_fn()) loop.close()
# except BaseException as e:
# make_log(startup_target[0].upper() + startup_target[1:], f"Error: {e}" + '\n' + str(traceback.format_exc()), level='error')
# sys.exit(1)
# finally:
# loop.close()