1. 程式人生 > 其它 >使用Flask+APScheduler建立定時任務

使用Flask+APScheduler建立定時任務

技術標籤:flaskflask

本文章參考:

  1. https://www.cnblogs.com/huiwenhua/p/11310833.html
  2. https://segmentfault.com/a/1190000021245279

資料夾結構如下圖:
|—demo
| |—config.py
| |—hello.py
| |—login.html

config.py:

class config:
  SCHEDULER_API_ENABLED = True

  @staticmethod
  def app_init(app):
    pass

hello.py

from flask import Flask,
redirect, url_for, request from flask_apscheduler import APScheduler # 引入APScheduler from config import config flag = False #任務配置類 class SchedulerConfig(object): JOBS = [ { 'id': 'print_job', # 任務id 'func': '__main__:print_job', # 任務執行程式 'args': None
, # 執行程式引數 'trigger': 'interval', # 任務執行型別,定時器 'seconds': 5, # 任務執行時間,單位秒 } ] #定義任務執行程式 def print_job(): print("I'm a scheduler!") flag = True app = Flask(__name__) @app.route('/success/<name>') def success(name): return 'welcome %s' % flag @app.
route('/login',methods = ['POST', 'GET']) def login(): if request.method == 'POST': user = request.form['nm'] return redirect(url_for('success',name = user)) else: user = request.args.get('nm') return redirect(url_for('success',name = user)) if __name__ == '__main__': app.config.from_object(SchedulerConfig) scheduler = APScheduler() # 例項化APScheduler scheduler.init_app(app) # 把任務列表載入例項flask scheduler.start() # 啟動任務計劃 app.run(debug = False)

login.html

<html>
   <body>
      
      <form action = "http://localhost:5000/login" method = "post">
         <p>Enter Name:</p>
         <p><input type = "text" name = "nm" /></p>
         <p><input type = "submit" value = "submit" /></p>
      </form>
      
   </body>
</html>