Task #26
Task μλ£ μλ μλ¦Ό μμ€ν ꡬν λ³΄κ³ μ
μμ λͺ λ Ήμ΄
[π΄ HIGH] [π΄ HIGH] Task μλ£ μ Telegram μλ μλ¦Ό μμ€ν
ꡬν.
## λͺ©ν
λ°±κ·ΈλΌμ΄λ Taskκ° μλ£(done/failed)λλ©΄ TelegramμΌλ‘ μλ μλ¦Όμ 보λ΄λ μμ€ν
.
## νκ²½
- DB: PostgreSQL, `db.py`μ `get_db_connection()` λλ νκ²½λ³μλ‘ μ§μ μ°κ²°
- Telegram λ΄ ν ν°: νκ²½λ³μ `TELEGRAM_BOT_TOKEN`
- μ±ν
ID: `db.py` λλ chat logsμμ νμΈ κ°λ₯ (μ΅κ·Ό λν μλ chat_id)
- νμΌ μμΉ: `/home/grass/leninbot/`
## ꡬν λ°©λ²
### 1. `task_notifier.py` μ νμΌ μμ±
```python
# 30μ΄λ§λ€ tasks ν
μ΄λΈ ν΄λ§
# statusκ° processing β done/failedλ‘ λ°λλ©΄ Telegram λ©μμ§ μ μ‘
# μ΄λ―Έ μλ¦Ό λ³΄λΈ taskλ skip (notified μ»¬λΌ λλ λ³λ setμΌλ‘ μΆμ )
# λ©μμ§ νμ:
# β
Task #N μλ£!
# κ²°κ³Ό: [result μ 200μ]
# λ€μ λ¨κ³: [κ΄λ ¨ μμ
μλ΄]
```
### 2. systemd μλΉμ€ λλ λ°±κ·ΈλΌμ΄λ μ€λ λ
- μ΅μ
A: `telegram_bot.py` μμ μ λ³λ μ€λ λλ‘ `task_notifier` μ€ν
- μ΅μ
B: λ³λ systemd μλΉμ€ `leninbot-notifier.service` μμ±
- **μ΅μ
A κΆμ₯** (λ¨μν¨)
### 3. tasks ν
μ΄λΈ μ€ν€λ§ νμΈ
- `db.py` λλ μ€μ DB μΏΌλ¦¬λ‘ μ»¬λΌ νμΈ ν ꡬν
## μ μ½
- `telegram_bot.py` ν΅μ¬ λ‘μ§ λ³κ²½ μ΅μν
- AST κ²μ¦ νμ
- μλ£ ν `systemctl restart leninbot`
## μλ£ κΈ°μ€
- Task #25 μλ£ μ TelegramμΌλ‘ μλ μλ¦Ό μμ νμΈ κ°λ₯ν μν