烧瓶加附表
Flask plus Schedule
您好,我想在后台将他使用线程的 schedule with my Flask app since I would need to do some routinely tasks. I found it here 集成到 运行 中。但是,当我在自己的应用程序上尝试时,我无法使用 Ctrl-C 退出我的应用程序,我使用的是 Windows。我很快就会部署到 Heroku 上,有什么问题吗?
还有没有更好的和'human-friendly'喜欢的时间表来为Flask做一些日常任务?谢谢
这是我的代码:
from flask import Flask
from datetime import datetime
import gspread
from oauth2client.service_account import ServiceAccountCredentials
import mysql.connector
from mysql.connector import Error
import schedule
import time
from threading import Thread
app = Flask(__name__)
def job():
print("I'm working...")
def run_schedule():
while True:
schedule.run_pending()
time.sleep(1)
@app.route('/')
def homepage():
return '<h1>Hello World!</h1>'
if __name__ == '__main__':
schedule.every(5).seconds.do(job)
sched_thread = Thread(target=run_schedule)
sched_thread.start()
app.run(debug=True, use_reloader=False)
尝试APScheduler。支持后台调度。
这是我使用 flask 和 apscheduler 的示例代码。
from flask import Flask
from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.executors.pool import ThreadPoolExecutor, ProcessPoolExecutor
app = Flask(__name__)
executors = {
'default': ThreadPoolExecutor(16),
'processpool': ProcessPoolExecutor(4)
}
sched = BackgroundScheduler(timezone='Asia/Seoul', executors=executors)
def job():
print('hi')
sched.add_job(job, 'interval', seconds=5)
if __name__ == '__main__':
sched.start()
app.run(debug=True, use_reloader=False)
您好,我想在后台将他使用线程的 schedule with my Flask app since I would need to do some routinely tasks. I found it here 集成到 运行 中。但是,当我在自己的应用程序上尝试时,我无法使用 Ctrl-C 退出我的应用程序,我使用的是 Windows。我很快就会部署到 Heroku 上,有什么问题吗?
还有没有更好的和'human-friendly'喜欢的时间表来为Flask做一些日常任务?谢谢
这是我的代码:
from flask import Flask
from datetime import datetime
import gspread
from oauth2client.service_account import ServiceAccountCredentials
import mysql.connector
from mysql.connector import Error
import schedule
import time
from threading import Thread
app = Flask(__name__)
def job():
print("I'm working...")
def run_schedule():
while True:
schedule.run_pending()
time.sleep(1)
@app.route('/')
def homepage():
return '<h1>Hello World!</h1>'
if __name__ == '__main__':
schedule.every(5).seconds.do(job)
sched_thread = Thread(target=run_schedule)
sched_thread.start()
app.run(debug=True, use_reloader=False)
尝试APScheduler。支持后台调度。
这是我使用 flask 和 apscheduler 的示例代码。
from flask import Flask
from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.executors.pool import ThreadPoolExecutor, ProcessPoolExecutor
app = Flask(__name__)
executors = {
'default': ThreadPoolExecutor(16),
'processpool': ProcessPoolExecutor(4)
}
sched = BackgroundScheduler(timezone='Asia/Seoul', executors=executors)
def job():
print('hi')
sched.add_job(job, 'interval', seconds=5)
if __name__ == '__main__':
sched.start()
app.run(debug=True, use_reloader=False)