Přeskočit na hlavní obsah

Jak naplánovat pracovní postupy Cryptohopper MCP pomocí cronu, Plánovače úloh a GitHub Actions

Nauč se plánovat MCP workflow pomocí cronu, Plánovače úloh Windows, nebo GitHub Actions – se setup skripty, tipy na proměnné prostředí a běžnými opravami.

Autor: Isaac

Předpoklady


Základní vzor

Všechny tři systémy pro plánování obalují stejný skript. Struktura je vždy: spustit MCP prompt → zachytit výstup → doručit ho. Ujistěte se, že jsou nastaveny proměnné prostředí a výstup je zachycen do logu.

# /home/you/scripts/daily_digest.py

import os
import requests

API_KEY = os.environ["CRYPTOHOPPER_MCP_KEY"]
TELEGRAM_TOKEN = os.environ["TELEGRAM_BOT_TOKEN"]
TELEGRAM_CHAT_ID = os.environ["TELEGRAM_CHAT_ID"]

def run_mcp_workflow(prompt: str) -> str:
# Váš volání MCP klientské knihovny zde — produkující text reportu.
...

def send_telegram(text: str) -> None:
requests.post(
f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
json={"chat_id": TELEGRAM_CHAT_ID, "text": text, "parse_mode": "Markdown"},
).raise_for_status()

if __name__ == "__main__":
prompt = open("/home/you/prompts/daily_digest.txt").read()
report = run_mcp_workflow(prompt)
send_telegram(report)

Nastavení — cron (macOS / Linux)

  1. Nejdříve otestujte skript ručně

export CRYPTOHOPPER_MCP_KEY="..."
export TELEGRAM_BOT_TOKEN="..."
export TELEGRAM_CHAT_ID="..."
python3 /home/you/scripts/daily_digest.py

2. Upravte svůj crontab

Spusťte crontab -e a přidejte níže uvedený řádek. Cron nedědí proměnné prostředí vašeho shellu — deklarujte proměnné na začátku crontabu.

CRYPTOHOPPER_MCP_KEY=your_key
TELEGRAM_BOT_TOKEN=your_token
TELEGRAM_CHAT_ID=your_chat_id
PATH=/usr/local/bin:/usr/bin:/bin

# Denně v 08:00 místního času
0 8 * * * /usr/bin/python3 /home/you/scripts/daily_digest.py >> /home/you/logs/daily.log 2>&1

3. Ověření

Po naplánovaném čase zkontrolujte log. Prázdný log znamená, že cron nespustil skript. Chyby v logu znamenají, že se skript spustil, ale selhal.

bashtail -50 /home/you/logs/daily.log

Nastavení — Plánovač úloh (Windows)

  1. Otestujte skript z Powershellu

$env:CRYPTOHOPPER_MCP_KEY = "..."
$env:TELEGRAM_BOT_TOKEN = "..."
$env:TELEGRAM_CHAT_ID = "..."
python C:\Users\you\scripts\daily_digest.py

2. Nastavte spouštěč

V sekci Spouštěče nakonfigurujte plán (denně v 08:00, týdně atd.).

3. Nakonfigurujte akci

V sekci Akce: Program/skript → python (nebo celá cesta k python.exe). Přidat argumenty → C:\Users\you\scripts\daily_digest.py. Spustit v → C:\Users\you\scripts.

4. Zpracování proměnných prostředí
Dvě možnosti: nastavit je jako systémové proměnné přes Ovládací panely → Systém → Proměnné prostředí, nebo je načíst ze souboru .env pomocí knihovny python-dotenv.

5. Ověření

Zkontrolujte Poslední výsledek běhu úlohy v Plánovači úloh. 0x0 znamená úspěch; cokoliv jiného je chyba.


Nastavení — GitHub Actions (hostované v cloudu)

  1. Vytvořte si GitHub repozitář pro své plánované workflow

    Přidejte svůj skript do repozitáře. Nevkládejte tam secrety.

  2. Přidejte secrets repozitáře

    Přejděte do Nastavení → Secrets a proměnné → Actions a přidejte: CRYPTOHOPPER_MCP_KEY, TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID.

  3. Vytvořte soubor workflow

# .github/workflows/daily_digest.yml

name: Denní shrnutí

on:
schedule:
- cron: "0 7 * * *" # 07:00 UTC denně
workflow_dispatch: # umožňuje ruční spuštění

jobs:
run:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- run: pip install -r requirements.txt
- name: Spustit shrnutí
env:
CRYPTOHOPPER_MCP_KEY: ${{ secrets.CRYPTOHOPPER_MCP_KEY }}
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
run: python scripts/daily_digest.py

Plány GitHub Actions používají UTC — převeďte si svůj místní čas odpovídajícím způsobem. Sledujte běhy na kartě Actions v repozitáři; GitHub vám e-mailem oznámí, když naplánovaný běh selže.


Výběr místa pro plánování

Možnost

Nejlepší pro

Nevýhoda

cron

Lokální/osobní workflow na stroji, který je stále zapnutý

Uspíšení s uspáním vašeho notebooku

Plánovač úloh

Osobní workflow na Windows

Nepohodlné UI, správa proměnných prostředí je ošemetná

GitHub Actions

Spolehlivé, cloudově hostované, zdarma pro většinu osobního použití

Běhy se mohou zpozdit během přetížení GitHubu

VPS + systemd/cron

Spolehlivost pro produkční prostředí

Spravujete server

Pro většinu uživatelů je GitHub Actions správnou volbou: zdarma, spolehlivé a logy jsou dohledatelné, když se něco pokazí.


Řešení problémů

Cron job se nespustí

Zkontrolujte grep CRON /var/log/syslog (Linux) nebo log show --predicate 'process == "cron"' (macOS). Nejčastější příčinou je chybějící PATH nebo chybějící proměnné prostředí — cron běží v minimálním prostředí.

Cron se spustí, ale skript okamžitě selže

Téměř vždy chybějící proměnná prostředí. Nechte skript vytisknout jasnou chybu a předčasně ukončit, pokud chybí požadovaná proměnná prostředí — nenechte ho selhat potichu uvnitř volání MCP.

Naplánovaná úloha běží v jiný čas, než se očekávalo

Časová pásma. Cron používá místní časové pásmo stroje; GitHub Actions používá UTC. Otestujte plán v předvídatelný čas, než nastavíte skutečnou kadenci.

Log soubor je prázdný, i když se skript spustí

Přesměrování nezachytává stderr. Použijte >> log 2>&1 — dvojitá šipka připojuje; jednoduchá > přepíše každý běh a ztratí předchozí výstup.

Naplánované běhy GitHub Actions jsou přeskočeny

GitHub omezuje plánované workflow během vysokého zatížení a občas přeskočí běhy. Pro workflow, které musí běžet spolehlivě, použijte druhý plánovací mechanismus jako zálohu nebo plaťte za dedikovaný runner. Pro většinu workflow jsou občasná přeskočení přijatelná.

Naplánované běhy spotřebovávají vaši kvótu rychleji, než se očekávalo

Každý běh je náklad. Sledujte využití přes jak sledovat své výdaje na Cryptohopper MCP. Týdenní kontrola součtu z koncového bodu využití MCP rychle zachytí nekontrolované plány.

Chcete přesnost plánování pod minutu

Žádný z těchto plánovačů nenabízí spolehlivou přesnost pod minutu a vy ji vlastně většinou nepotřebujete. Pokud si myslíte, že ano, vraťte se zpět — workflow je pravděpodobně lépe navrženo jako webhook řízený událostmi.


Dostali jste odpověď na svou otázku?