I'm wondering if it might be smart to use
callLater in Twisted to keep an eye on auction being. It might be a callLater around the order of 100,000's of seconds, though does that matter? Appears like it might be very convenient. However again it appears just like a horrible idea when the server crashes.
Keeping a database of when all of the auctions are ending appears such as the most dependable solution, but checking the entire database each second to ascertain if any auction is finished appears very costly.
When the server crashes, maybe the server can recreate all of the callLater's from database records of auction finish occasions. Exist other potential concerns for this type of model?
Among the Divmod projects, Axiom, may be relevant here. Axiom is definitely an object database. Among its unpredicted, helpful features is really a persistent arranging system.
You schedule occasions using APIs supplied by the database. Once the occasions come due, a callback you specified is known as. The occasions persist across process restarts, since they are symbolized as database objects. Large amounts of scheduled occasions are supported, by only carrying out work to help keep track once the next event will happen.
The canonical Divmod site went lower a while ago (sadly the organization is no more a practical concern), however the code is offered at http://launchpad.net/divmod.org and also the documentation has been gradually rehosted at http://divmod.readthedocs.org/.