Skip to content

Commit

Permalink
Правка завершения.
Browse files Browse the repository at this point in the history
  • Loading branch information
Schrodinger71 committed Dec 26, 2024
1 parent 39a6804 commit c88441a
Showing 1 changed file with 11 additions and 7 deletions.
18 changes: 11 additions & 7 deletions commands/github/check_workflows.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import sys

import aiohttp

from bot_init import bot
from config import AUTHOR, GITHUB
from commands.misc.shutdows_deff import shutdown_def

OWNER = AUTHOR
REPO = 'Dev-bot'
Expand All @@ -15,11 +14,10 @@
'Accept': 'application/vnd.github.v3+json',
}


async def check_workflows():
"""
Проверяет состояние запущенных GitHub Actions workflows и завершает работу бота,
если обнаружено более одного процесса с состоянием 'in_progress'.
если обнаружено более одного процесса с состоянием 'in_progress' для workflow с именем 'Deploy Discord-Bot'.
"""
try:
async with aiohttp.ClientSession(headers=HEADERS) as session:
Expand All @@ -35,6 +33,11 @@ async def check_workflows():
# Проверяем все workflows
for run in workflows.get('workflow_runs', []):
run_name = run.get('name', 'Неизвестно')

# Проверяем, что имя процесса соответствует 'Deploy Discord-Bot'
if run_name != 'Deploy Discord-Bot':
continue

status = run.get('status', 'Неизвестно')
conclusion = run.get('conclusion', 'Не завершено')
created_at = run.get('created_at', 'Неизвестно')
Expand All @@ -52,15 +55,16 @@ async def check_workflows():

# Если больше одного процесса в статусе 'in_progress', завершаем работу
if in_progress_count > 1:
print("❌ Обнаружено более одного запущенного workflow. Завершаем процесс...")
print("❌ Обнаружено более одного запущенного workflow 'Deploy Discord-Bot'. Завершаем процесс...")
await shutdown_def()
await bot.close()
sys.exit(0)

# Логируем результат проверки
if in_progress_count == 0:
print("✅ Нет запущенных workflow в статусе 'in_progress'. Продолжаем работу.")
print("✅ Нет запущенных workflow 'Deploy Discord-Bot' в статусе 'in_progress'. Продолжаем работу.")
else:
print(f"⚠️ Обнаружено {in_progress_count} запущенный(ых) workflow в статусе 'in_progress'. Продолжаем работу.")
print(f"⚠️ Обнаружено {in_progress_count} запущенный(ых) workflow 'Deploy Discord-Bot' в статусе 'in_progress'. Продолжаем работу.")

except aiohttp.ClientError as e:
print(f"❌ Ошибка при подключении к GitHub API: {e}")
Expand Down

0 comments on commit c88441a

Please sign in to comment.