он не работает с использованием flask_apscheduler в колбе без перезагрузки - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь планировать задачи в моем приложении фляги, оно не работает должным образом, никаких ошибок, когда я устанавливаю процессы = 2, но процессы = 1 в порядке. Почему?

код такой:

#--coding:utf-8 --*--
import sys
import os 
reload(sys)  
sys.setdefaultencoding('utf-8')

from flask import Flask
from flask_apscheduler import APScheduler

from apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStore

#the configuration of app.
class Config():
    SCHEDULER_JOBSTORES = {
            'default': SQLAlchemyJobStore(url='sqlite:///flask_aps_test.db')
        }

    SCHEDULER_API_ENABLED = True

    ENCODING = 'utf8'

    DEBUG = True

    THREADED = True

#the initialization of app.
app = Flask(__name__)

app.config.from_object(Config())

#the initialization of scheduler.
scheduler = APScheduler()

scheduler.init_app(app)

scheduler.start()

#the function of hello is a schedule task.
def hello():

    print "hello, world."

@app.route('/index')
def test_aps():
    print "before,",scheduler.get_jobs()

    if scheduler.get_job(id='1001'):

        scheduler.remove_job(id = '1001') #if the job_id is exists then remove it.

    else:
        scheduler.add_job( id = '1001',
                        func = hello,
                        trigger = 'interval',
                        seconds = 5,
                        replace_existing = True)

    print "after,",scheduler.get_jobs()

    return "ok."


if __name__ == '__main__':
    #when i set processes = 2 it not working,except processes = 1.
    app.run(processes = 2)

результат:

  • Запуск на http://127.0.0.1:5000/ (нажмите CTRL + C, чтобы выйти) * Перезапуск со статом * Отладчик активен!* Отладочный ПИН: 668-587-681 до, [] после, [] 127.0.0.1 - - [27 / Nov / 2018 19:50:26] "GET / index HTTP / 1.1" 200 - * Обнаружено изменение в '/Пользователи / akeemqin / Documents / workstation / test / flask_test_1.py ', перезагрузка * Перезапуск со статистикой * Отладчик активен!Не удалось найти обработчики для регистратора "apscheduler.executors.default" * PIN-код отладчика: 668-587-681 привет, мир.Привет, мир.Привет, мир.Привет, мир.Привет, мир.Привет, мир.до, [] после, []
...