2016-12-19 27 views
0

我想使用基于时间的属性开始一个新项目,但我想确保这样做的最佳方法。基本上,我面临两个主要问题(简化,让我们使用RPG-ish词汇表)最佳时间/持续时间gem for rails 5

首先,每个用户都有一个gold_coins整数属性。我想定期增加此金额。起初,我想到使用延迟工作,但浏览SO,这似乎是一件坏事,如下回答:here

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

回答

0

不具有延迟的工作,但我会建议依靠这种操作系统级别的时间/间隔机制,例如cron作业,特定于操作系统的调度引擎等

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

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