- console_commands/logs.py — чтение последних строк лога (tail -20) - console_commands/reload.py — горячая перезагрузка всех cogs - console_commands/trigger_morning.py — ручной запуск morning-дайджеста - logs доступна через admin.py (docker exec) и интерактивный терминал - reload и trigger morning доступны через интерактивный терминал - сохранён bot._scheduler для доступа к планировщику - обновлены __init__.py, admin.py, README.md, ISSUES.md - добавлены тесты: test_console_logs.py (4), test_console_reload.py (2), test_console_trigger_morning.py (3) - итого 243 теста
23 lines
768 B
Python
23 lines
768 B
Python
"""Ручной запуск morning-дайджеста в канал."""
|
|
|
|
import asyncio
|
|
|
|
|
|
def trigger_morning(stop_event, bot):
|
|
"""Ручной запуск morning-дайджеста через scheduler."""
|
|
if stop_event.is_set():
|
|
return None
|
|
|
|
scheduler = getattr(bot, "_scheduler", None)
|
|
if scheduler is None:
|
|
print("Планировщик не запущен. Утренний дайджест недоступен.")
|
|
return None
|
|
|
|
async def _run():
|
|
await scheduler._run_morning()
|
|
|
|
# Запустить async-метод в event loop бота
|
|
future = asyncio.run_coroutine_threadsafe(_run(), bot.loop)
|
|
future.result()
|
|
print("\nУтренний дайджест запущен вручную.")
|