创建基于时间的动态事件(如建筑施工时间等)的最佳方式是什么
What is the best way to create dynamic time-based events like building construction times,etc?
我有兴趣创建一个网络游戏(在travian.com之类的网站上)。我对php、sql和javascript有一些了解。我的问题是:
创建基于时间的动态事件(如建筑施工时间等)的最佳方法是什么
我特别指的是在一段时间后自动更改数据库的事件。根据我所能收集到的信息,可以使用chron查询数据库以获取建筑施工时间的更新,并更新它们,例如,如果建筑时间+施工开始时间=当前时间。这将是一种解决方案(我不喜欢,因为大多数Web服务器只允许1分钟的时间间隔)。
另一个解决方案似乎是使用mysql事件,在该事件中,每次用户要求构建建筑时,我们都会在数据库上创建一个对象,并在事件触发后更新它。在我看来,这似乎是最直观的答案。
然而,我没有足够的经验或专业知识来弄清楚是否有更好的解决方案,或者这些解决方案是否在任何方面都适用于如此"大"的目的。
如果有人能给我一些关于这个问题的线索,或者为我指明正确的方向,我将不胜感激。我提前道歉,因为英语不是我的第一语言。
我认为这里的答案取决于您需要进行的更新是时间驱动的还是事件驱动的,以及它们是否只是对数据库其他部分的更新。
如果它们纯粹是事件驱动的,纯粹是对数据库的更新,那么SQL触发器可能是一个可行的选项。即便如此,业界对使用触发器是否是一种好的做法也众说纷纭,因为这会使未来的开发人员很难找到改变的原因。触发器的另一个缺点是,它可能会导致用户在进行更新时的性能降低(因为数据库要做的工作比初始更新更复杂)。
如果更新是时间驱动的,或者它们包括对数据库本身范围之外的任何内容的更新(例如,有时更新文件系统),或者您希望避免使用触发器来简化未来开发人员的维护,那么cron-job方法是一个很好的选择。这里的一个问题是,通过cron作业调度的大量更新集合可能会导致性能下降,因此在实现作业时需要减轻这种情况(选择关闭时间是一种选择,就像实现队列系统来运行更新一样,这样cron作业在让其他数据库请求通过之前只会发布一定数量的更新)。
就我个人而言,我更喜欢cron作业+排队更新过程。
- Java脚本时间添加
- Json数据包含日期和时间格式
- 如何根据时间运行不同的脚本
- 用每小时的差值填充数组/列表-从下拉列表中给定两个时间值
- 如何使用jquery强制一个单词更改大小写等以保留品牌
- 在wordpress一定时间后更改自定义字段
- 更改angularjs中的日期-时间格式
- 将当前时间添加到我的页面上的特定部分
- 门户网站:当地时间有多有用
- 显示时间的脚本
- 如何在窗体打开时从javascript倒计时计时器值中节省时间
- 通过JSON&比较时间
- Javascript时间轨迹
- 谷歌分析/Mixpanel/等.确定时钟错误时的事件时间戳
- 为什么此 Google 日历 API 请求不返回开始时间等事件数据
- JS日期选择器能够:时间,日期,日期时间,星期几,一年中的一周,一年中的月份等
- 如何将 UNIX 时间转换为表示以年日等为单位的时间量的数组
- 我怎么能等一段时间再更改变量呢
- 创建基于时间的动态事件(如建筑施工时间等)的最佳方式是什么
- Webdriver没有这样的元素,当它确实存在,我已经等了足够长的时间了