Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何将调度程序添加到瓶子_Python 3.x_Bottle_Apscheduler - Fatal编程技术网

Python 3.x 如何将调度程序添加到瓶子

Python 3.x 如何将调度程序添加到瓶子,python-3.x,bottle,apscheduler,Python 3.x,Bottle,Apscheduler,我对Python和瓶子(以及ApsScheduler)完全不熟悉,因此希望能得到一些关于实现计划作业的简单说明 我已经编写了一些Python代码,可以检查我们网站上显示的状态和数据。我还编写了一些代码,通过电子邮件将状态发送给我们 现在,我想添加定期调用此代码的功能(例如,每15分钟调用一次),因此,apscheduler似乎是一个合适的、轻量级的、自包含的解决方案 我想知道的是: 我可以在瓶子网站启动时启动BackgroundScheduler吗?(启动代码在哪里?) 我能把Backgrou

我对Python和瓶子(以及ApsScheduler)完全不熟悉,因此希望能得到一些关于实现计划作业的简单说明

我已经编写了一些Python代码,可以检查我们网站上显示的状态和数据。我还编写了一些代码,通过电子邮件将状态发送给我们

现在,我想添加定期调用此代码的功能(例如,每15分钟调用一次),因此,apscheduler似乎是一个合适的、轻量级的、自包含的解决方案

我想知道的是:

  • 我可以在瓶子网站启动时启动BackgroundScheduler吗?(启动代码在哪里?)
  • 我能把BackgroundScheduler的实例变成全局的吗?原因是我想从网站的其他地方访问它,并添加/删除/暂停作业
我看到其他人也有类似的想法,但细节和答案对我这样的傻瓜来说太少了

我知道我可能会使用sleep()来解决类似的问题,但我首先要探讨apscheduler选项

我也看了芹菜,但我认为对于我正在构建的这个小型、单一用途的web应用程序来说,这太过分了

我应该补充一点,我正在使用Visual Studio 2013中提供的一个瓶子项目,该项目已经包含了某些配置和文件。

您可以使用:


@亚历山大:我也这么做了。它与Botte WSGIRefServer()一起工作,在这里,您可以让线程活得任意长。在带有mod_wsgi的Apache上,您的线程应该只运行这么长时间,然后它们就被杀死了。所以瓶子里的调度器对我不起作用

就个人而言,我正在用zmq(pyzmq)编写一个小型调度服务器,它接收调度任务并使用它来运行它们。对我来说很好

from threading import Timer

def my_task():
    # do stuff ...
    Timer(15*60, my_task).start()     # schedule for every 15 minutes

# start your scheduler
my_task()