FastAPI에서 예약된 작업과 정기적인 작업을 구현하는 방법
소개:
FastAPI는 API 애플리케이션 구축에 초점을 맞춘 현대적이고 고성능 Python 프레임워크입니다. 그러나 때로는 FastAPI 애플리케이션에서 예약된 작업과 정기적인 작업을 수행해야 하는 경우도 있습니다. 이 문서에서는 FastAPI 애플리케이션에서 이러한 작업을 구현하는 방법을 설명하고 해당 코드 예제를 제공합니다.
1. 예약된 작업 구현
APScheduler 라이브러리 사용
APScheduler는 예약된 작업을 예약하고 관리하는 강력한 Python 라이브러리입니다. 날짜, 시간 간격 및 Cron 표현식을 기반으로 하는 여러 작업 스케줄러를 지원합니다. 다음은 APScheduler를 사용하여 FastAPI에서 예약된 작업을 구현하는 단계입니다.
pip install apscheduler
명령을 실행하여 APScheduler 라이브러리를 설치합니다. pip install apscheduler
来安装APScheduler库。tasks.py
的文件,用于定义定时任务。from apscheduler.schedulers.background import BackgroundScheduler scheduler = BackgroundScheduler() @scheduler.scheduled_job('interval', seconds=10) def job(): print("This is a scheduled job") scheduler.start()
from fastapi import FastAPI from .tasks import scheduler app = FastAPI() app.mount("/tasks", scheduler.app)
使用Celery库
Celery是一个强大的分布式任务队列库,支持异步和定时任务。以下是在FastAPI中使用Celery实现定时任务的步骤:
pip install celery
来安装Celery库。tasks.py
tasks.py
라는 파일을 생성하여 예약된 작업을 정의합니다. from celery import Celery app = Celery('tasks', broker='redis://localhost:6379') @app.task def job(): print("This is a scheduled job")
from fastapi import FastAPI from .tasks import app as celery_app app = FastAPI() app.mount("/tasks", celery_app)
Celery는 비동기식 및 예약된 작업을 지원하는 강력한 분산 작업 대기열 라이브러리입니다. 다음은 Celery를 사용하여 FastAPI에서 예약된 작업을 구현하는 단계입니다.
pip install celery
명령을 실행하여 Celery 라이브러리를 설치합니다. tasks.py
라는 파일을 생성하여 예약된 작업을 정의합니다. from apscheduler.triggers.cron import CronTrigger scheduler = BackgroundScheduler() @scheduler.scheduled_job(CronTrigger.from_crontab('* * * * *')) def job(): print("This is a periodic job") scheduler.start()
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='*'), }, }
주기적인 작업 모듈 만들기: 이전 문서의 2단계를 참조하세요.
Celery 라이브러리 설치: 이전 기사의 1단계를 참조하세요.
🎜주기적인 작업 모듈 만들기: 이전 문서의 2단계를 참조하세요. 🎜🎜🎜🎜rrreee🎜결론: 🎜APScheduler 또는 Celery 라이브러리를 사용하면 FastAPI 애플리케이션에서 예약된 작업과 주기적 작업을 쉽게 구현할 수 있습니다. 위에 제공된 코드 예제는 FastAPI 프로젝트에서 이러한 작업 기능을 빠르게 구현하는 데 도움이 되는 참조로 사용될 수 있습니다. 위의 내용은 간단한 예이지만 이러한 예를 기반으로 자신만의 작업 논리를 추가로 확장하고 사용자 정의할 수 있습니다. 🎜🎜참고 자료: 🎜🎜🎜APScheduler 공식 문서: https://apscheduler.readthedocs.io/🎜🎜Celery 공식 문서: https://docs.celeryproject.org/🎜🎜🎜 (이 기사는 참고용입니다. 실제 상황에 기초하여 필요한 경우 그에 따라 조정하고 수정하세요)🎜.위 내용은 FastAPI에서 예약된 작업과 정기 작업을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!