flask-apscheduler 的 APScheduler()在函数外实例化后,函数内调用会提示这个实例是一个 module,而不是一个类实例

2019-01-19 14:05:43 +08:00
 LeonardSc

如题,flask-apscheduler 的 APScheduler()在函数外实例化后,函数内调用其 start 方法会提示 AttributeError: module 'app.scheduler' has no attribute 'start' 文件结构类似:

from flask_apscheduler import APScheduler

scheduler = APScheduler()

def create_app(config_name):
	app = Flask(__name__)
	app.config.from_object(config[config_name])

	scheduler.init_app(app)
	scheduler.start()

放在函数里就正常了,如下

from flask_apscheduler import APScheduler


def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])

    scheduler = APScheduler()
    scheduler.init_app(app)
    scheduler.start()

然鹅,尝试将 scheduler 换个名字,比如换成 sche,就没问题了,如下

from flask_apscheduler import APScheduler

sche = APScheduler()

def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])

    sche.init_app(app)
    sche.start()

感觉是有 module 名叫 scheduler 造成的?但是翻了一下没有名为 scheduler 的 module 呀...

2185 次点击
所在节点    Python
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/528571

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX