我正在从事与加密货币相关的博彩游戏项目。我使用mongodb作为数据库,使用mongoose进行工作。我收集了一些描述博彩游戏的文档。每个文档都有一个称为“过期”的字段,通常在创建后3分钟。在此日期之后不得添加任何投注,并且应运行函数来结束游戏:进行所有相关计算以找到获胜者,并将游戏的生存状态设置为false。数据库中只能有一个活着的游戏,我使用活着的字段的部分索引来实现这一目标。我需要创建一种机制,以便在游戏到期时终止游戏,我不知道什么是最好的方法。
到目前为止,我正在考虑以下解决方案: *运行一个单独的节点实例,该实例每1-3秒执行一次对生存游戏及其到期日期的检查。 *安排在到期日后立即执行负责结束游戏的功能。
有没有更好的方法来解决这个问题?我的游戏设计是否适当,或者我在实现此功能时完全走错了路?将游戏对象存储在内存中并将其保存一次会更好吗?
答案 0 :(得分:0)
这是经典的job scheduler
问题,在银行中很常见,如果某个transaction
必须在一定时间内完成,而您在{ {1}}到其最后一个{strong>原子状态transaction
,我建议您看看node-cron,这是一种调度程序,它适用于如下所示的调度模式。>
Database.