rails 5的最佳时间/持续时间宝石

时间:2016-12-19 16:44:10

标签: ruby-on-rails time

我想使用基于时间的属性启动一个新项目,但我想确定最好的方法。基本上,我面临两个主要问题(简化,让我们使用RPG-ish词汇表)

首先,每个用户都有一个gold_coins整数属性。我想定期增加这个数额。起初,我想过使用延迟的工作,但浏览SO,看起来这是件坏事,正如回答here

其次,用户可以生产单位。每个unit需要一定的时间来生成,由production_time属性定义。到目前为止,我想到了创建一个Production模型,每次生成一个单元时创建一个新模型。生产具有start_datetime,并使用单位end_datetime计算production time。我的问题是,我如何跟踪经过的时间,以便在制作结束时,它开始匹配的工作(再一次,延迟的工作似乎完全适合,但似乎他们在开发人员中并不特别受欢迎)。

1 个答案:

答案 0 :(得分:0)

没有延迟工作,但我建议依靠操作系统级时间/间隔机制,例如CRON作业,特定于操作系统的调度引擎等。

您可以轻松地使用业务逻辑编写rake任务,并在CRON中调用此任务。这将使您的整体逻辑解耦到一个良好的水平。

此外,系统级调度引擎更易于配置和维护。