내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Flask-APScheduler는 APScheduler에 대한 지원을 추가하는 Flask 확장입니다.
APScheduler에는 마음대로 사용할 수 있는 세 가지 일정 관리 시스템이 내장되어 있습니다.
Cron 스타일 예약(선택적 시작/종료 시간)
간격 기반 실행(균등한 간격으로 작업 실행, 선택적인 시작/종료 시간)
일회성 지연 실행(설정된 날짜/시간에 한 번 작업 실행)
pip install flask_apscheduler
- # 创建Flask应用
- app = Flask(__name__)
- # 初始化APScheduler
- scheduler = APScheduler()
여기에 cron 표현식의 사용을 설명하세요.
cron 표현식 생성기 주소:https://cron.ciding.cc/
방법 1: 하드 코딩 방법 사용
- # 创建Flask应用
- app = Flask(__name__)
- # 初始化APScheduler
- scheduler = APScheduler()
-
- # 方式一硬编码;
- # 这些代码也可以放在if __name__ == '__main__':内,与调试运行方式有关,
- # 1.flask服务方式运行不会走if __name__ == '__main__':内代码;
- # 2.以Python文件(app.py)方式运行会走if __name__ == '__main__':内代码;
- scheduler.add_job(func=MyService.my_job, id='my_job', trigger='cron', second='0/5')
- scheduler.init_app(app=app)
- scheduler.start()
방법 2: 읽기 구성 방법 사용
구성 코드
- class Config:
- JOBS = [
- {
- 'id': 'job1',
- 'func': 'app:MyService.my_job', # 注意这里的格式,app 是 Flask 应用对象的名称(app.py),: 后面是任务函数名
- 'trigger': 'cron',
- # 'day_of_week': '0-6', # 每天执行
- # 'hour': 18, # 18 点执行
- # 'inute': 30, # 30 分执行
- # 'econd': 5 # 0 秒执行
- 'second': '0/5'
- }
- # ,
- # {
- # 'id': 'job2',
- # 'func': task2, # 也可以直接使用函数名
- # 'trigger': 'interval',
- # 'econds': 30 # 每隔 30 秒执行一次
- # }
- ]
- SCHEDULER_API_ENABLED = True
- # 创建Flask应用
- app = Flask(__name__)
- # 初始化APScheduler
- scheduler = APScheduler()
-
- # 方式一硬编码
- # scheduler.add_job(func=MyService.my_job, id='my_job', trigger='cron', second='0/5')
- # 方式二读取配置
- app.config.from_object(Config())
- scheduler.init_app(app=app)
- scheduler.start()
- from datetime import datetime
-
- from flask import Flask
-
-
- class MyService:
- @classmethod
- def my_job(cls):
- print(f"my_job,当前时间{datetime.now()}")
특정 코드
https://gitee.com/jxzcode_admin/flask-project.git
참고자료