FastAPI-Scheduler
## Project IntroductionFastAPI-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:
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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| fastapi_scheduler-0.0.15.tar.gz | 8.4 kB | Without provenance | Details for fastapi_scheduler-0.0.15.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| fastapi_scheduler-0.0.15-py3-none-any.whl | Python 3 | none | any | Details for fastapi_scheduler-0.0.15-py3-none-any.whl |
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
|
Security for fastapi_scheduler 0.0.15
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.