在Python脚本中重定向URL期间延迟文件更新

时间:2011-05-26 22:48:00

标签: python database webserver delay

我使用python脚本(在linux web服务器上)根据请求重定向用户。重定向基于数据库(python字典),数据库本身是从远程CSV文件构建的。

目前,我必须手动更新数据库,但CSV文件可以随时更改。

我正在寻找一种在每次用户请求后(10秒后)更新数据库的方法。通过这种方式,数据库始终是最新的,用户不会受到更新的影响。

我正在尝试使用棚模块,但它不起作用。

import sched, time
s = sched.scheduler(time.time, time.sleep)
s.enter(0, 1, app.redirect, ())
s.enter(10, 1, app.data_base_update, ())
s.run()

目标是为用户快速保留网址重定向并稍后延迟更新。有一个很好的解决方案,使用一个独特的脚本文件吗?

1 个答案:

答案 0 :(得分:0)

通过在后台更新COPY并立即切换它们并将更新的副本转换为实时副本,您将获得更好的服务。因此,用户无需等待,您可以随时进行操作。你可能最好不要在每个用户请求后10秒内这样做(想象一下大量的请求......它会让你的服务器瘫痪)。您可以安排一个cron脚本或其他自动化任务,每分钟或每半小时等;根据任务的大小,您还可以限制CPU利用率。

请注意,由于您正在使用远程数据,因此您的解决方案仍然无法确保数据库始终是最新的。但不幸的是,这是使用远程数据的代价。如果远程服务器不属于您,请确保不要敲击它们。 =)