Pythonスクリプトをスケジューリングやリトライ対応のデータパイプラインに変えるワークフレームワーク
中辛 の解説
PrefectはPythonの データ処理スクリプトにスケジューリング・リトライ・キャッシングなど本番用機能を加えるワークフロー調整フレームワークです。@flowと@taskデコレーターで関数を装飾してワークフロー定義を行い、スケジューリング・キャッシング・リトライ・条件分岐などの機能をサポートします。prefect server startでローカルUIサーバーを起動して実行を監視でき、serve()メソッドでCron式スケジューリングを設定してデプロイメント化できます。pip install prefectでインストール後すぐに利用可能で、UIまたはCLIからの手動実行とイベントベースのトリガーにも対応しています。
こんなリポジトリです
こんなときに便利です
- 定期実行されるバッチ処理やAPIデータ取得パイプラインをCron式で自動スケジューリングして運用する場合
- タスク実行中のネットワークエラーや一時的な障害に対して自動リトライ機能で信頼性を向上させたい場合
- 複数のデータ処理タスクを依存関係や条件分岐を保ったまま中央集中的に監視・管理したい場合
主な機能
ほかとの違い
Pythonデコレーター2行の追加で既存スクリプトを本番ワークフローに変換できるシンプルさが特徴です。
このリポジトリの作り方
はじめてですか? むずかしくありません — 上から順にたどれば、自分の環境で動かして味見できます。
準備するもの
- Python 3.11 以上
- pip または uv パッケージマネージャ
すぐに始める
- Prefectをインストールします。
pip install -U prefect
代替として、uvを利用することもできます。
uv add prefect
- @flowと@taskデコレーターを使用したPythonスクリプトを作成します。
from prefect import flow, task
import httpx
@task(log_prints=True)
def get_stars(repo: str):
url = f"https://api.github.com/repos/{repo}"
count = httpx.get(url).json()["stargazers_count"]
print(f"{repo} has {count} stars!")
@flow(name="GitHub Stars")
def github_stars(repos: list[str]):
for repo in repos:
get_stars(repo)
if __name__ == "__main__":
github_stars(["PrefectHQ/prefect"])
- Prefect サーバーを起動します。
prefect server start
-
ブラウザで http://localhost:4200 にアクセスしてUIを確認します。
-
デプロイメントとしてスケジューリングする場合は、スクリプト最後を以下に変更します。
if __name__ == "__main__":
github_stars.serve(
name="first-deployment",
cron="* * * * *",
parameters={"repos": ["PrefectHQ/prefect"]}
)
ギット飯トライで味見
入れるのが面倒で少し不安だったなら — 安全スキャンからインストールまで、ターミナル一行で終わります。
ターミナルに貼り付ければ、ギット飯の安全スキャン → 隔離フォルダへ clone → インストール → 実行方法の案内まで自動です。はじめてでも大丈夫 — この一行だけです。
npx gitbap-try PrefectHQ/prefect
Node.js さえあれば、インストールなしで動きます · ギット飯トライとは? →
スター推移 · 7日
確認日時
使いやすさ · まねしやすいか
- ゆるいライセンス
- テストあり
- サンプル集
- 最近の更新
- AGENTS.md
- llms.txt
- テンプレート
最近の更新あり · 2018 年に作成
「自動化・ワークフロー」 こういうリポジトリを毎週受け取りませんか?
毎週月曜の朝、選んだ一膳だけ。広告なし · いつでも解除。
自分のリポジトリですか? README にギット飯バッジを貼る
[](https://www.gitbap.com/r/PrefectHQ/prefect)Claude からそのまま使う — ギット飯のつなぎ方
ギット飯を Claude につなぐと、こうしたリポジトリを Claude・Cursor・Codex から直接さがして試せます。
Claude の設定 → コネクタにこのアドレスを貼り付け。
https://www.gitbap.com/api/mcpプラグインを入れると /gitbap-trending·/gitbap-try のスラッシュコマンドで、その場でリポジトリを試せます。Claude Code で下の 2 行を順に実行してください。
/plugin marketplace add jakeparkcolde/gitbap-cowork/plugin install gitbap-cowork@gitbapAI が README をもとに要約しました · 原文を見る