按日期确定是否需要更新

Determine if update needed by date

我找到了 this answer,它在一定程度上提供了我需要的东西,但我想问一下在根据日期从 Dropbox 存储和提取文件时可能出现的任何问题。

我有一个员工列表,文件名为 empList.txt,位于名为 empList-20171106_183150 的数据库文件夹中。文件夹名称有年、月、日和时间,一直到秒,附加在它后面(YYYYMMDD_HHMMSS)

在本地,我有一个 python 脚本,它有一个日志 (txt),其中只包含脚本最后一次下载更新列表的日期。如果上次脚本 运行 是在 2017 年 11 月 1 日上午 9 点

,则日志看起来像这样
20171101_090020

如果我使用 Dropbox 和 Python 编写的脚本来下载基于 date/time 的最新版本,这样做有什么缺点吗?

我只是将日志中存储的日期与文件夹中附加的日期进行比较。如果数据库中文件夹的日期更大,则需要下载。我唯一担心的是在日期比较和下载期间,其中一位经理可能会上传新列表,这意味着我将不得不再次 运行 脚本。

MalwareBytes 或 Internet 安全软件等完整程序如何在用户同时提供新更新时管理下载更新的用户?对我来说,我只是 运行 再次更新,以确保在我 checkking/updating 时没有新的更新可用。

我不建议使用日期比较,因为存在竞争条件的潜在问题,如您提到的,等等。

Dropbox API 公开了判断事情是否发生变化的方法。具体来说,在下载文件时,您应该存储所下载文件版本的元数据。特别是,FileMetadata.rev or FileMetadata.content_hash 会很有用。

如果您稍后再次检查并且这些值中的任何一个与您上次下载的值不同,您就知道发生了一些变化,因此您应该重新下载。