【问题标题】:Python Bottle Website Automate TasksPython Bottle 网站自动执行任务
【发布时间】:2016-01-06 22:05:45
【问题描述】:

我有一个 python 应用程序,它可以提取数据并将其发布到 API 中。它从最近 15 分钟拉取数据,需要每 15 分钟运行一次。

我最终使用了 bottle 框架并在页面背景中运行我的代码并每 15 分钟刷新一次(我假设这不是最好的方法)。

@route('/')
def index():

    <run code>

    return '<meta http-equiv="refresh" content="900" />'

我如何自动执行此任务,同时以一种用户友好的方式来关闭和打开它,而不依赖于打开浏览器?

【问题讨论】:

    标签: python-2.7 bottle


    【解决方案1】:

    如果我只想每 15 分钟提取一次数据并将其发布到 API,我不会使用 Web 框架。我会编写一个带有无限while循环的脚本并使用sleep()。当然,如果您愿意,可以将此脚本/函数绑定到瓶子 URL。

    编辑(错过了一些 OP 的要求):如果希望用户能够选择日期,请制作一个用户可以提交日期的表单。然后,您的瓶子后端将生成一个新进程(python 脚本),它将提交的日期作为输入。此过程将持续运行您的代码,直到您的用户点击“结束”按钮,然后您的瓶子后端将终止该过程。有关生成/删除进程的更多信息,请参阅subprocess

    【讨论】:

    • 我还需要允许用户手动输入日期以从中提取数据,这就是我使用 Web 框架的原因。
    • @AllenLin - 我认为在这种情况下线程/线程池会更容易处理,因此您不会在每次重新加载瓶子时都进行僵尸处理...
    猜你喜欢
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 2011-10-04
    • 1970-01-01
    • 2014-06-26
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    相关资源
    最近更新 更多