我有一个python应用程序,可以提取数据并将其发布到API中。它从过去的15分钟中提取数据,需要每15分钟运行一次。
我最终使用了瓶子框架并在页面背景中运行我的代码并每隔15分钟刷新一次(我假设这不是最好的方法)。
@route('/')
def index():
<run code>
return '<meta http-equiv="refresh" content="900" />'
如何自动完成此任务,同时以用户友好的方式关闭此功能并不依赖于打开浏览器?
答案 0 :(得分:0)
如果我想做的就是每15分钟提取数据并将其发布到API,我就不会使用Web框架。我会写一个带有无限while循环的脚本并使用sleep()。当然,如果您愿意,可以将此脚本/函数绑定到瓶子URL。
编辑(错过了OP的一些要求):如果希望用户能够选择日期,请创建一个用户可以提交日期的表单。然后你的瓶子后端会产生一个新的进程(python脚本),它将提交的日期作为输入。此过程将持续运行您的代码,直到您的用户点击“结束”按钮,然后您的瓶子后端将终止该过程。有关产生/删除过程的更多信息,请参阅subprocess。