Skip to main content

FastAPI-Scheduler

Package version Downloads Chat on Gitter 229036692

## Project Introduction

FastAPI-Scheduler is a simple scheduled task management FastAPI extension library based on APScheduler.

Install

pip install fastapi-scheduler

Simple example

main.py:

from fastapi import FastAPI
from fastapi_amis_admin.admin.settings import Settings
from fastapi_amis_admin.admin.site import AdminSite
from datetime import date
from fastapi_scheduler import SchedulerAdmin

# Create `FastAPI` application
app = FastAPI()

# Create `AdminSite` instance
site = AdminSite(settings=Settings(database_url_async='sqlite+aiosqlite:///amisadmin.db'))

# # Custom timed task scheduler
# from apscheduler.schedulers.asyncio import AsyncIOScheduler
# from apscheduler.jobstores.redis import RedisJobStore
# # Use `RedisJobStore` to create a job store
# scheduler = AsyncIOScheduler(jobstores={'default':RedisJobStore(db=2,host="127.0.0.1",port=6379,password="test")})
# scheduler = SchedulerAdmin.bind(site,scheduler=scheduler)

# Create an instance of the scheduled task scheduler `SchedulerAdmin`
scheduler = SchedulerAdmin.bind(site)


# Add scheduled tasks, refer to the official documentation: https://apscheduler.readthedocs.io/en/master/
# use when you want to run the job at fixed intervals of time
@scheduler.scheduled_job('interval', seconds=60)
def interval_task_test():
    print('interval task is run...')


# use when you want to run the job periodically at certain time(s) of day
@scheduler.scheduled_job('cron', hour=3, minute=30)
def cron_task_test():
    print('cron task is run...')


# use when you want to run the job just once at a certain point of time
@scheduler.scheduled_job('date', run_date=date(2022, 11, 11))
def date_task_test():
    print('date task is run...')


@app.on_event("startup")
async def startup():
    # Mount the background management system
    site.mount_app(app)
    # Start the scheduled task scheduler
    scheduler.start()


if __name__ == '__main__':
    import uvicorn

    uvicorn.run(app, debug=True)

Interface/UI preview

  • Open http://127.0.0.1:8000/admin/ in your browser:

SchedulerAdmin

Dependent projects

agreement

The project follows the Apache2.0 license agreement.

Metadata

Release files for fastapi_scheduler 0.0.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fastapi_scheduler 0.0.15
File Size Uploaded
fastapi_scheduler-0.0.15.tar.gz 8.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fastapi_scheduler 0.0.15
File Interpreter ABI Platform
fastapi_scheduler-0.0.15-py3-none-any.whl Python 3 none any Details

Total release size: 17.6 kB

Release files / fastapi_scheduler-0.0.15.tar.gz

Download URL fastapi_scheduler-0.0.15.tar.gz
Size 8.4 kB
Tags Source
SHA-256 checksum
How to use checksums
48dc1201ee13f0cff5c19c45f6180043205d9a48cb0a5940256d8fc299d74d23
BLAKE2b-256 checksum
How to use checksums
de01d32b190ad2901663a59cf4b0d9dbc567616cf1412bdac787e496775cf275
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.10.1 CPython/3.11.0

Release files / fastapi_scheduler-0.0.15-py3-none-any.whl

Download URL fastapi_scheduler-0.0.15-py3-none-any.whl
Size 9.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
704793fda16f948c18dca32ba77aefee7bb762dac55beaf5e7a4224e12bb3a4b
BLAKE2b-256 checksum
How to use checksums
987fa32cb7d2cb3e8ac20591509f1a442cae5a67bc3074c63ec186162e175c89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.10.1 CPython/3.11.0

Release history Release notifications | RSS feed

This release

0.0.15 This release

2 release files

0.0.14

2 release files

0.0.13

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page