FastAPI でスケジュールされたタスクと定期的なタスクを実装する方法
FastAPI でスケジュールされたタスクと定期的なタスクを実装する方法
はじめに:
FastAPI は、API アプリケーションの構築に重点を置いた最新の高パフォーマンスの Python フレームワークです。ただし、場合によっては、FastAPI アプリケーションでスケジュールされたタスクや定期的なタスクを実行する必要があります。この記事では、これらのタスクを FastAPI アプリケーションに実装する方法について説明し、対応するコード例を示します。
1. スケジュールされたタスクの実装
-
APScheduler ライブラリの使用
APScheduler は、スケジュールされたタスクのスケジュールと管理のための強力な Python ライブラリです。日付、時間間隔、Cron 式などに基づく複数のタスク スケジューラをサポートします。 APScheduler を使用して FastAPI でスケジュールされたタスクを実装する手順は次のとおりです。- APScheduler ライブラリをインストールします。ターミナルでコマンド
pip install apscheduler
を実行して、APScheduler ライブラリをインストールします。 - スケジュールされたタスク モジュールを作成する: FastAPI アプリケーションのルート ディレクトリに、スケジュールされたタスクを定義するための
tasks.py
という名前のファイルを作成します。
- APScheduler ライブラリをインストールします。ターミナルでコマンド
from apscheduler.schedulers.background import BackgroundScheduler scheduler = BackgroundScheduler() @scheduler.scheduled_job('interval', seconds=10) def job(): print("This is a scheduled job") scheduler.start()
- スケジュールされたタスク モジュールを登録します。FastAPI アプリケーションのメイン ファイルで、スケジュールされたタスク モジュールをインポートし、FastAPI のサブアプリケーションとして登録します。応用。
from fastapi import FastAPI from .tasks import scheduler app = FastAPI() app.mount("/tasks", scheduler.app)
Celery ライブラリの使用
Celery は、非同期タスクとスケジュールされたタスクをサポートする強力な分散タスク キュー ライブラリです。 Celery を使用して FastAPI でスケジュールされたタスクを実装する手順は次のとおりです。- Celery ライブラリをインストールします。ターミナルでコマンド
pip install celery
を実行して、Celery ライブラリをインストールします。 - スケジュールされたタスク モジュールを作成する: FastAPI アプリケーションのルート ディレクトリに、スケジュールされたタスクを定義するための
tasks.py
という名前のファイルを作成します。
- Celery ライブラリをインストールします。ターミナルでコマンド
from celery import Celery app = Celery('tasks', broker='redis://localhost:6379') @app.task def job(): print("This is a scheduled job")
- スケジュールされたタスク モジュールを登録します。FastAPI アプリケーションのメイン ファイルで、スケジュールされたタスク モジュールをインポートし、FastAPI のサブアプリケーションとして登録します。応用。
from fastapi import FastAPI from .tasks import app as celery_app app = FastAPI() app.mount("/tasks", celery_app)
2. 定期タスクの実装
APScheduler ライブラリの使用
APScheduler ライブラリは、定期タスクのスケジュール設定もサポートしています。 APScheduler を使用して FastAPI アプリケーションに定期タスクを実装する手順は次のとおりです。- APScheduler ライブラリをインストールします。前の記事の手順 1 を参照してください。
- 定期タスク モジュールを作成します。前の記事の手順 2 を参照してください。
from apscheduler.triggers.cron import CronTrigger scheduler = BackgroundScheduler() @scheduler.scheduled_job(CronTrigger.from_crontab('* * * * *')) def job(): print("This is a periodic job") scheduler.start()
Celery ライブラリの使用
Celery ライブラリは、定期的なタスクのスケジュール設定もサポートしています。 Celery を使用して FastAPI アプリケーションに定期タスクを実装する手順は次のとおりです。- Celery ライブラリをインストールします。前の記事の手順 1 を参照してください。
- 定期タスク モジュールを作成します。前の記事の手順 2 を参照してください。
from celery import Celery from celery.schedules import crontab app = Celery('tasks', broker='redis://localhost:6379') @app.task def job(): print("This is a periodic job") app.conf.beat_schedule = { 'job': { 'task': 'tasks.job', 'schedule': crontab(minute='*'), }, }
結論:
APScheduler または Celery ライブラリを使用すると、FastAPI アプリケーションにスケジュールされたタスクと定期的なタスクを簡単に実装できます。上記のコード例は、FastAPI プロジェクトでこれらのタスク関数を迅速に実装するのに役立つ参照として使用できます。上記は単純な例ですが、これらの例に基づいて独自のタスク ロジックをさらに拡張およびカスタマイズできます。
参考資料:
- APScheduler 公式ドキュメント: https://apscheduler.readthedocs.io/
- Celery 公式ドキュメント: https://docs.celeryproject. org/
(この記事は参考用です。実際のニーズに応じて調整および変更してください。)
以上がFastAPI でスケジュールされたタスクと定期的なタスクを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









リバース プロキシとロード バランシングのために FastAPI で Nginx を使用する方法 はじめに: FastAPI と Nginx は 2 つの非常に人気のある Web 開発ツールです。 FastAPI は高性能 Python フレームワークであり、Nginx は強力なリバース プロキシ サーバーです。これら 2 つのツールを一緒に使用すると、Web アプリケーションのパフォーマンスと信頼性が向上します。この記事では、リバース プロキシと負荷分散のために FastAPI で Nginx を使用する方法を学びます。逆生成とは何ですか

FastAPI でリクエストの高い同時実行性と負荷分散を実現する方法 はじめに: インターネットの発展に伴い、Web アプリケーションの高い同時性が一般的な問題になりました。大量のリクエストを処理するときは、効率的なフレームワークとテクノロジーを使用して、システムのパフォーマンスとスケーラビリティを確保する必要があります。 FastAPI は、高い同時実行性と負荷分散の実現に役立つ高性能 Python フレームワークです。この記事では、FastAPI を使用してリクエストの高い同時実行性と負荷分散を実現する方法を紹介します。 Python3.7を使用します

crontab のスケジュールされたタスクが実行されない原因まとめ 更新日時: 2019年1月9日 09:34:57 作成者: Hope on the field. この記事では主に、crontab のスケジュールされたタスクが実行されない原因をいくつかまとめて紹介します。考えられるトリガーごとに解決策が示されており、この問題に遭遇した同僚にとって一定の参照と学習価値があります。必要な学生はエディターに従って一緒に学習できます。序文: 最近仕事でいくつかの問題に遭遇しました。crontab のスケジュール設定タスクが実行されませんでした後、インターネットで検索したところ、インターネットでは主に次の 5 つのインセンティブについて言及されていることがわかりました: 1. crond サービスが開始されていない Crontab は Linux カーネルの機能ではなく、cron に依存しています。

FastAPI でプッシュ通知を使用してリアルタイムでデータを更新する方法 はじめに: インターネットの継続的な発展に伴い、リアルタイムのデータ更新の重要性がますます高まっています。たとえば、リアルタイム取引、リアルタイム監視、リアルタイム ゲームなどのアプリケーション シナリオでは、最も正確な情報と最高のユーザー エクスペリエンスを提供するために、データをタイムリーに更新する必要があります。 FastAPI は、高パフォーマンスの Web アプリケーションを構築するためのシンプルかつ効率的な方法を提供する、最新の Python ベースの Web フレームワークです。この記事では、FastAPIを使用して実装する方法を紹介します。

FastAPI でリクエストのセキュリティ保護と脆弱性修復を実装する方法 はじめに: Web アプリケーションの開発プロセスでは、アプリケーションのセキュリティを確保することが非常に重要です。 FastAPI は、高速 (高性能) で使いやすい、ドキュメントの自動生成機能を備えた Python Web フレームワークです。この記事では、FastAPI でリクエストのセキュリティ保護と脆弱性修復を実装する方法を紹介します。 1. 安全な HTTP プロトコルを使用する HTTPS プロトコルの使用は、アプリケーション通信のセキュリティを確保するための基礎です。 FastAPI が提供する

FastAPI でリクエスト失敗の回復と再試行を実装する方法 はじめに: Web アプリケーションの開発では、多くの場合、他のサービスと通信する必要があります。ただし、これらのサービスでは、一時的なネットワークの停止や応答のタイムアウトなどの障害が発生する可能性があります。アプリケーションの信頼性を維持するには、障害から回復し、必要に応じて再試行する必要があります。この記事では、FastAPI でフェイルオーバーとリクエストの再試行を実装する方法を学びます。 FastAPI は Python をベースにした最新の Web アプリケーションです

FastAPI でファイルのアップロードと処理を実装する方法 FastAPI は、使いやすく強力な最新の高パフォーマンス Web フレームワークで、ファイルのアップロードと処理のネイティブ サポートを提供します。この記事では、FastAPI フレームワークでファイルのアップロードおよび処理関数を実装する方法を学び、具体的な実装手順を示すコード例を示します。まず、必要なライブラリとモジュールをインポートする必要があります: fromfastapiimportFastAPI,UploadF

FastAPI でキャッシュを使用して応答を高速化する方法 はじめに: 最新の Web 開発では、パフォーマンスが重要な関心事です。アプリケーションが顧客のリクエストに迅速に対応できない場合、ユーザー エクスペリエンスの低下やユーザーの離脱につながる可能性があります。キャッシュの使用は、Web アプリケーションのパフォーマンスを向上させる一般的な方法の 1 つです。この記事では、キャッシュを使用して FastAPI フレームワークの応答速度を高速化する方法を検討し、対応するコード例を示します。 1. キャッシュとは何ですか?キャッシュとは頻繁にアクセスされるキャッシュのことです
