76 lines
2.1 KiB
Markdown
76 lines
2.1 KiB
Markdown
# Настройка автоматического запуска runner.sh
|
|
|
|
См. также [`docs/ARCHITECTURE.md`](ARCHITECTURE.md) — состав пайплайна.
|
|
|
|
Есть два способа настроить запуск `runner.sh` каждый час:
|
|
|
|
## Вариант 1: Systemd Timer (рекомендуется)
|
|
|
|
В проекте уже используются systemd-сервисы.
|
|
|
|
### Установка
|
|
|
|
1. Скопируйте файлы в systemd:
|
|
|
|
```bash
|
|
sudo cp services/runner.service /etc/systemd/system/
|
|
sudo cp services/runner.timer /etc/systemd/system/
|
|
```
|
|
|
|
2. Или используйте скрипт установки:
|
|
|
|
```bash
|
|
chmod +x services/install_runner_timer.sh
|
|
sudo bash services/install_runner_timer.sh
|
|
```
|
|
|
|
3. Вручную:
|
|
|
|
```bash
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl enable runner.timer
|
|
sudo systemctl start runner.timer
|
|
```
|
|
|
|
### Управление
|
|
|
|
- Статус: `sudo systemctl status runner.timer`
|
|
- Остановить: `sudo systemctl stop runner.timer`
|
|
- Запустить: `sudo systemctl start runner.timer`
|
|
- Отключить: `sudo systemctl disable runner.timer`
|
|
- Логи: `sudo journalctl -u runner.service -f`
|
|
- Список timers: `sudo systemctl list-timers`
|
|
|
|
### Расписание
|
|
|
|
Файл `/etc/systemd/system/runner.timer`:
|
|
|
|
- `OnCalendar=hourly` — каждый час
|
|
- `OnCalendar=*-*-* *:00:00` — в начале каждого часа
|
|
- `OnCalendar=*-*-* 0,6,12,18:00:00` — в 0, 6, 12, 18 часов
|
|
- `OnCalendar=Mon..Fri 09:00:00` — будни в 9:00
|
|
|
|
После изменения: `sudo systemctl daemon-reload`
|
|
|
|
---
|
|
|
|
## Вариант 2: Cron
|
|
|
|
```bash
|
|
sudo crontab -e
|
|
```
|
|
|
|
```bash
|
|
0 * * * * /bin/bash /opt/testbot-git/runner.sh >> /opt/testbot-git/runner_cron.log 2>&1
|
|
```
|
|
|
|
Другие варианты: `30 * * * *`, `*/30 * * * *`, `0 9-17 * * *`.
|
|
|
|
---
|
|
|
|
## Состав runner.sh (ZILANT)
|
|
|
|
`vk_load.py` → `zk_load.py` → `db_update_shortname.py` → `tg_publish.py` → `evtg_publish.py`
|
|
|
|
Legacy `tools/legacy/evt_prefetch.py` в пайплайн не входит (с 1.0.0).
|