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