我想知道在twisted中使用callLater跟踪拍卖结束是否是个好主意。这将是一个大约10万秒的呼叫,尽管这有关系吗?好像很方便。但是,如果服务器崩溃,这又是一个可怕的想法。
保存所有拍卖结束时的数据库似乎是最安全的解决方案,但每秒检查整个数据库以查看是否有任何拍卖结束似乎非常昂贵。
如果服务器崩溃,也许服务器可以从拍卖结束时间的数据库条目中重新创建所有calllater。这种模式是否还有其他潜在的担忧?

最佳答案

其中一个DIVMOD项目,公理,可能在这里适用。公理是一个对象数据库。它的一个意想不到的、有用的特性是持久的调度系统。
您可以使用数据库提供的api来调度事件。当事件到期时,将调用指定的回调。事件在进程重新启动时持续存在,因为它们被表示为数据库对象。通过只跟踪下一个事件的发生时间,可以支持大量计划的事件。
规范的divmod站点在一段时间前就关闭了(遗憾的是,该公司不再是一个运营商),但是代码都可以在http://launchpad.net/divmod.org上获得,文档也正在慢慢地在http://divmod.readthedocs.org/上重新发布。

关于python - 在Twisted中使用callLater跟踪拍卖的结局,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8456126/

10-11 07:53