प्रौद्योगिकी साझेदारी

flask निर्धारितकार्यस्य उपयोगं करोति flask_apscheduler (APScheduler)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Flask-APScheduler विवरणम् : १.

Flask-APScheduler इति Flask विस्तारः अस्ति यः APScheduler इत्यस्य समर्थनं योजयति ।

APScheduler इत्यस्य भवतः निजनिग्रहे त्रीणि अन्तःनिर्मितानि समयनिर्धारणप्रणाल्यानि सन्ति:

  • क्रोन-शैल्याः समयनिर्धारणम् (वैकल्पिकः आरम्भः/समाप्तः समयः)

  • अन्तराल-आधारित-निष्पादनम् (सम-अन्तरालेषु कार्याणि चालयन्तु, वैकल्पिक-प्रारम्भ/अन्त-समयाः)

  • एकवारं विलम्बितं निष्पादनं (निर्धारितदिनाङ्के/समये एकवारं कार्यं चालयन्तु)

1. flask_apscheduler पुस्तकालयं संस्थापयन्तु

pip install flask_apscheduler

2.app.py इत्यत्र कोडं कुर्वन्तु

2.1APScheduler इत्यस्य आरम्भं कुर्वन्तु

  1. # 创建Flask应用
  2. app = Flask(__name__)
  3. # 初始化APScheduler
  4. scheduler = APScheduler()

२.२ कथं प्रयोगः

अत्र cron व्यञ्जनानां प्रयोगं वर्णयतु

cron अभिव्यक्ति जनरेटर पता:https://क्रोन्.सिडिंग्.सीसी/

विधिः १ : हार्ड कोडिंग् पद्धतेः उपयोगं कुर्वन्तु

  1. # 创建Flask应用
  2. app = Flask(__name__)
  3. # 初始化APScheduler
  4. scheduler = APScheduler()
  5. # 方式一硬编码;
  6. # 这些代码也可以放在if __name__ == '__main__':内,与调试运行方式有关,
  7. # 1.flask服务方式运行不会走if __name__ == '__main__':内代码;
  8. # 2.以Python文件(app.py)方式运行会走if __name__ == '__main__':内代码;
  9. scheduler.add_job(func=MyService.my_job, id='my_job', trigger='cron', second='0/5')
  10. scheduler.init_app(app=app)
  11. scheduler.start()

विधिः २: पठनविन्यासविधिस्य उपयोगं कुर्वन्तु

विन्याससङ्केतः

  1. class Config:
  2. JOBS = [
  3. {
  4. 'id': 'job1',
  5. 'func': 'app:MyService.my_job', # 注意这里的格式,app 是 Flask 应用对象的名称(app.py),: 后面是任务函数名
  6. 'trigger': 'cron',
  7. # 'day_of_week': '0-6', # 每天执行
  8. # 'hour': 18, # 18 点执行
  9. # 'inute': 30, # 30 分执行
  10. # 'econd': 5 # 0 秒执行
  11. 'second': '0/5'
  12. }
  13. # ,
  14. # {
  15. # 'id': 'job2',
  16. # 'func': task2, # 也可以直接使用函数名
  17. # 'trigger': 'interval',
  18. # 'econds': 30 # 每隔 30 秒执行一次
  19. # }
  20. ]
  21. SCHEDULER_API_ENABLED = True
  1. # 创建Flask应用
  2. app = Flask(__name__)
  3. # 初始化APScheduler
  4. scheduler = APScheduler()
  5. # 方式一硬编码
  6. # scheduler.add_job(func=MyService.my_job, id='my_job', trigger='cron', second='0/5')
  7. # 方式二读取配置
  8. app.config.from_object(Config())
  9. scheduler.init_app(app=app)
  10. scheduler.start()

3.My_service.py (MyService वर्ग) कोडः

  1. from datetime import datetime
  2. from flask import Flask
  3. class MyService:
  4. @classmethod
  5. def my_job(cls):
  6. print(f"my_job,当前时间{datetime.now()}")

4. परियोजनायाः समग्रसंरचना

5. संचालन प्रभाव

विशिष्टः कोडः

https://gitee.com/jxzcode_admin/फ्लास्क-परियोजना.गिट

सन्दर्भाः

https://blog.csdn.net/m0_48770520/लेख/विवरण/130735727