我正在用 Python 编写一个带有 Django 前端的备份系统。我决定以一种有点奇怪的方式实现调度——客户端将轮询服务器(每 10 分钟左右),以获取需要执行的备份列表。服务器仅在达到备份时间时才会响应。这是为了保持系统平台独立 - 这样我就不会依赖 cronjobs 或类似的东西。因此,Django 前端(它公开了一个 XML-RPC API)必须将调度存储在数据库中,并解释该调度以决定客户端是否应该开始备份。
目前,时间表使用 3 个字段存储:天、小时和分钟。这些是以逗号分隔的整数列表,表示一周中的天数 (0-6)、一天中的小时数 (0-23) 和一小时中的分钟数 (0-59)。要决定客户端是否应该开始备份是一个非常低效的操作——Python 必须循环从过去 7 天开始的所有天,然后是小时,然后是分钟。我已经做了一些优化以确保它不会循环太多 - 但仍然如此!
这工作相对较好,虽然实现相当丑陋。我遇到的问题是如何通过前端的 HTML 表单显示和解释这些信息。目前我只有大量的多选字段列表,这显然效果不佳。
任何人都可以建议一种不同的方法来实现更有效且更容易以 HTML 表单表示的时间表吗?