我有一个sqlite的味道DB包含一个表,它拥有约10,000项与5列。在其中的一列中,我有一个“计时器”,基本上是我给出的一个数字,其目的是随着时间的推移(理想情况下每秒)降低到零。当它达到零时,我想执行一个动作。查询sqlite的每10s VS使用超时VS节点的cron
思维过程
1:我可以更新我的需要(可能为2K出10K的)每10s(setInternal)每个项目DB - 作为不强调IT和检查是否任何项目都达到零。我对这种方式很不情愿,因为我觉得它可能效率不高。
2nd:由于我在nodejs上,我可以使用超时。只读一次我的数据库获取所有想要的用户,并为他们每个人创建一个setTimeout方法。一分钟左右更新数据库后,nested-setInternal由于每个setTimeout占用大约35bytes的nodejs堆,所以它不是一个坏方法。 - 现在我认为这是要走的地方。
3rd:我发现这个https://github.com/kelektiv/node-cron github,它基本上是一个任务调度器。看了一下代码后,我觉得它不好,但我真的不认为我必须在这里使用外部包。
注:不管上面的方法,我在的情况下使用过程中坠毁,他们将被重置了(完全失去了点),而无需更新我的DB周期性,所以我想我不能避免这种情况。
问题:我应该怎么做才能有效地更新我的数据库中的定时器每隔几秒钟(所有的时间我的进程是活着的) - 没有耗尽我的资源?
对不起那些读了整个事情,觉得他们失去了他们的时间。
对不起,我晚睡了,谢谢你,这似乎是一个很好的方式。 – nonerth