On Tue, Oct 5, 2010 at 3:17 PM, Stuart Bishop
<[email protected]> wrote:
> I actually see a combination of all three for 'tasks'. If a task needs
> to be scheduled, you create the task. You also send an event via
> rabbitmq so the handler for that task does not have to poll. You also
> have a small job in garbo that sends events via rabbitmq for 'lost'
> tasks.

Sure, there's no reason that the task system can't build on Rabbit if
appropriate; and for things that have DB records indicating they need
doing (or things we should scan for dropped events) then garbo glue is
sensible as well.

> (of course, if we have a good enough guarantee of delivery we don't
> need to worry about 'lost' tasks.)

Rabbit isn't reliable - specifically by default it doesn't fsync
before acknowledging, and it has no HA story to deal with server
crashes/power failures.

As an example of something which doesn't need reliability, consider a
long poll callback when a branch has a new revision - anyone viewing
any page with that branch on it can get triggered to update. If the
message is dropped, we don't care - the fact a user is on that page is
intrinsically transient anyway.

-Rob

_______________________________________________
Mailing list: https://launchpad.net/~launchpad-dev
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~launchpad-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to