update
This commit is contained in:
parent
3542179f55
commit
d6ae214cfb
@ -5,7 +5,7 @@ WORKDIR /app
|
||||
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
|
||||
|
||||
COPY pyproject.toml uv.lock* ./
|
||||
RUN uv sync --no-dev
|
||||
RUN uv sync --frozen --no-dev
|
||||
|
||||
COPY src/ ./src/
|
||||
|
||||
|
||||
@ -16,8 +16,8 @@ build-backend = "hatchling.build"
|
||||
[tool.hatch.build.targets.wheel]
|
||||
packages = ["src"]
|
||||
|
||||
[tool.uv]
|
||||
dev-dependencies = [
|
||||
[dependency-groups]
|
||||
dev = [
|
||||
"pytest>=8.0",
|
||||
"pytest-asyncio>=0.23",
|
||||
]
|
||||
|
||||
26
src/main.py
26
src/main.py
@ -34,7 +34,7 @@ logging.basicConfig(
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
async def main() -> None:
|
||||
async def setup() -> tuple:
|
||||
# 1. Конфиг из окружения
|
||||
bot_jid = os.environ["BOT_JID"]
|
||||
bot_password = os.environ["BOT_PASSWORD"]
|
||||
@ -106,11 +106,27 @@ async def main() -> None:
|
||||
# 9. Scheduled адаптер
|
||||
checker = NewsChecker(fetch_and_publish)
|
||||
|
||||
# 10. Запуск
|
||||
return connection, checker
|
||||
|
||||
|
||||
def main() -> None:
|
||||
loop = asyncio.new_event_loop()
|
||||
asyncio.set_event_loop(loop)
|
||||
|
||||
connection, checker = loop.run_until_complete(setup())
|
||||
|
||||
# slixmpp — asyncio-native, process() не существует
|
||||
# connect() ставит соединение в очередь, loop.run_forever() его выполняет
|
||||
connection.connect()
|
||||
asyncio.ensure_future(checker.start())
|
||||
connection.process(forever=True)
|
||||
loop.create_task(checker.start())
|
||||
|
||||
try:
|
||||
loop.run_forever()
|
||||
except KeyboardInterrupt:
|
||||
logger.info("Завершение по Ctrl+C")
|
||||
finally:
|
||||
loop.close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
main()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user