On Fri, Oct 9, 2009 at 6:10 PM, Gavin Panella <[email protected]> wrote:
On Thu, 08 Oct 2009 17:21:20 -0400 Aaron Bentley <[email protected]> wrote:-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Bjorn Tillenius wrote: > My question would be, why do you need to run Jobs on demand; what's the > end-user visible change here? The end-user visible change is that there is no lag between them requesting an operation and the operation starting.Do the various polling scripts have to connect to the database? If so, and if the only message that needs to be sent is "there's something to do", then PostgreSQL's LISTEN and NOTIFY might be enough to help reduce lag without introducing new moving parts: http://www.postgresql.org/docs/8.4/interactive/sql-listen.html http://www.postgresql.org/docs/8.4/interactive/sql-notify.html Stub might have reasons not to though, and I have no idea if it works with replication.
I tend to think proper messaging infrastructure would serve us better and be more reliable though than implementing our own messaging system. We can work around the lack if we want (and have for the last few years using database tables and polling), but shouldn't we just do things properly? So yes, listen/notify work fine. But by the time we have put together a decent interface and worked out how to handle disconnections and outages and written the tests and worked out how to monitor that listening processes actually are reacting as they should we are well on the way to cobbling together our own half-baked solution to avoid a moving part we know we are going to have to adopt anyway (for example to communicate with internal canonical systems such as the login service even if we don't make use of it ourselves). -- Stuart Bishop <[email protected]> http://www.stuartbishop.net/
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Mailing list: https://launchpad.net/~launchpad-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~launchpad-dev More help : https://help.launchpad.net/ListHelp

