我正在使用电话系统的用户帐户,一旦他们的余额达到零,我需要断开用户。
我需要轮询数据库(每秒?)以查明会话挂断时间是否为<现在()。
有关轮询数据库的任何建议,我目前使用MySQL,但我愿意改变。
cron
不会经常运行。因为我每分钟都要收费,所以我需要确保这个脚本的准确时间。
我正在查看node.js来完成任务,从未使用过node-它是否合适? 是否值得使用数据库的发布/订阅功能? (不能冒任何数据丢失的风险,因为这意味着用户可以永远继续打电话)
感谢任何建议。
P.S一切都将是服务器端。没有前端来解雇请求。
答案 0 :(得分:1)
对于注释,您可能没有以正确的方式接近这个。据我所知,电信公司通常用于计费的是拥有内容的快照,以便更改数据,并定期批量更新以根据需要保留所述数据。
在数据库术语中,将其视为使用使用内存引擎的代理表,使用定期开始/重命名mem_table / create new mem_table / commit,然后使用old_mem_table / drop old_mem_table / commit开始/更新static_table
最糟糕的情况是失去几分钟的结算。好处是它可以使硬盘驱动器不必进行不间断的读/写(考虑到它们所面临的吞吐量,它们无论如何都无法做到。)
至于你的(node.js)问题,为什么不使用setInterval()?