作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 python Flask 应用程序,它开始运行一个名为“counter”的变量,初始化为 0。我想每天上午 00:30 增加这个变量并将其打印到 python 控制台,而不干扰应用程序的运行。
我可能想在任何时候将该变量的当前值传递给客户端。
counter = 0
if __name__ == "__main__":
port = 80
os.system("open http://localhost:{0}".format(port))
app.debug = False
app.run(host='0.0.0.0', port=port)
#### NEED CODE FOR HERE ####
#Trying out logic:
if (time == 00:30):
counter = counter+1
print counter
#### NEED CODE FOR HERE ####
请在您的答案中提供工作代码。
最佳答案
其他答案中有多种解决方案,具体取决于您的要求的复杂程度。如果您真正需要做的只是增加计数器,则使用第一种方法。
如果您能够在服务器上安排 cron 作业,那么迄今为止最简单的方法是定义一个执行操作的 URL,并有一个运行 curl
或 的 cron 作业wget
请求(使用 POST
)URL 并在所需时间触发操作。这不需要额外的包并且非常轻量。就像这里描述的那样:
您可能会使用后台线程,在您的情况下,该线程需要休眠或设置计时器以在所需时间唤醒:
最流行的选项之一是使用 Celery 进行后台任务处理。这是相当重量级的,因为它还需要 RabbitMQ,但它是最灵活、最强大的解决方案:
有Python Redis-Queue,它需要Redis后端:
Reddit 上也有一些好主意:
Python 任务队列概述:
关于python - 如何每天在 00 :30 AM when flask application is running? 处递增变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30199076/
我是一名优秀的程序员,十分优秀!