|
|
1
1
如果你只需要事件对拥有它的玩家可见,那么模型可以按需报告其更新状态,我们就完成了,继续前进,这里什么也看不到。 另一方面,如果它需要在计划创建时对任何人可见,那么这个问题就更有趣了。 我会说你需要两样东西。一个队列,您可以将定时事件放入其中(数据库表会很好),一个后台进程,可以连续运行或频繁重启,它提取自上次执行以来计划发生的事件(或者我想是即将发生的事件)并对其进行操作。 看着 list of options 在Rails wiki上,似乎还没有一个真正的解决方案。让我们希望其中一个符合要求。 |
|
|
2
1
我刚刚为我正在开发的PBBG做了这件事(大反派,你可以在MadGamesLab.com上看到正在进行的工作)。不管怎样,我使用了一个命令表,其中每个用户命令只生成一个条目,以及一个事件表,每个命令有一个或多个条目(链接回命令)。使用脚本/运行器启动的辅助守护进程会定期轮询事件表,并运行已过时间的事件。 到目前为止,它似乎运行得很好,除非我在吸引大量用户时看到一些问题,否则我不打算改变它。 |
|
|
3
0
在某种程度上,这取决于你的前端有多少逻辑,以及你的模型有多少逻辑。如果你知道事情发生前会经过多长时间,你就可以把大部分逻辑放在前端。 我会使用你的模型来确定事物的状态,根据具体要求,你可以检查它是否已经构建。我不明白为什么你需要一个背景工作者来做这件事。 |
|
|
4
0
我会使用AJAX来启动计时器(参见 Periodical Executor )用于更新您的UI。在模型方面,只需跟踪建筑物的created_at列,只有在其构建时间已经过去的情况下才允许使用它。这样,您就不必每隔几秒钟就去数据库查看您的建筑是否完工。 |
|
cluster1 · 采取独立的新行动的好处是什么? 1 年前 |
|
|
Robert · 使用JSON或哈希时,将NULL替换为NIL 1 年前 |
|
|
Fred Willmore · Rails控制器不呈现任何模板 2 年前 |
|
|
Diogo Amaral · 实现API请求的正确方式 2 年前 |
|
|
Meknassih · 在控制器方法中分配给模型没有任何作用 2 年前 |
|
|
Michael Ding · Rails上的默认会话到期问题 2 年前 |
|
|
Flávio · 基于另外两个生成数组 2 年前 |