首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >误差小但误差大

误差小但误差大
EN

Stack Overflow用户
提问于 2012-12-06 15:52:30
回答 1查看 47关注 0票数 1

我的网站要求用户每天在23:59:59之前完成网站上的特定任务(不要担心时区或任务)。

任务有一个$today_status (completeincomplete)

我有一个在一天开始(00:00:01)运行的cron来做两件事:

  1. 检查昨天是否完成了所有任务(检查所有尚未完成的任务)。
  2. 将昨天的所有任务重置为不完整,以便用户可以在今天(为新的一天)再次启动任务。

每个任务的旁边都显示有一个倒计时器,以便用户可以看到以下两个定时器中的一个:

  1. (IF $today_status = incomplete) --他们完成任务的时间(倒数到一天结束)。
  2. (IF $today_status = complete) --他们在完成第二项任务之前必须等待的时间(倒数到一天结束)。

我有两个相关的小问题:

当它在00:00:01变成新的一天时,crons就会运行,但是cron可能要到00:07:19才能完成所有的任务,所以有一个7分钟的错误间隔。随着更多用户的加入,这种情况可能会增加。

因此,如果用户已经完成了前一天的任务,然后在第二天的00:03:27查看任务.$today_status可能仍然是completed,因为cron可能在前一天还没有处理它.在那里计时器会说

23:54:33 (在你开始下一项任务之前,还有时间等待)

它会说出上面的话,因为它仍然处于‘完全’状态.然而,用户只是提前登录以便他们可以提前完成今天的任务,但网站告诉他们,否则……告诉他们必须等到明天才能完成下一项任务.

我希望我的解释是正确的,如果你费心把这段话读下来的话,我非常感谢你…任何帮助都将不胜感激.提前感谢

EN

回答 1

Stack Overflow用户

发布于 2012-12-06 15:58:30

我只能想到一个解决办法。由于cron将变得越来越慢,那么您可以添加一个"last_cron_date“字段,该字段将显示cron上次修复给定任务的时间。因此,在UI中,您将检查任务今天是否已由cron传递,如果是,则显示剩余内容。如果cron尚未完成此任务,则它的日期字段仍然是昨天,您可以正确地处理它--或者说“当前正在处理该任务”,或者允许它被处理,或者允许您为处理时间间隔做任何决定。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13747396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档