launchpad-dev team mailing list archive
-
launchpad-dev team
-
Mailing list archive
-
Message #04230
Re: optimizing adding team members
Hi Rob,
У сре, 11. 08 2010. у 10:55 +1200, Robert Collins пише:
> What we can do now is:
> - we receive the request
> - we commit the *intent* and return a 'pending' message to the
> browser, which then renders a spinner locally and polls an API for
> completion of the queued item
> - the queue processes the work
> - the polling js sees the work is complete and renders completion
>
> Now, queue latency and when the user gets their benefits. The current
> job system has on average 30 second latency + processing time. We can
> address that for specific queues with a small amount of work to poll
> the DB every second in a new transaction.
>
> This should be pretty transparent to the user, will make the page time
> come -way- down, and handle very large team rearrangements gracefully.
We want this for POFile exports as well. At the moment, we have an
export queue and we notify the user by email. In most cases, we can
figure out that the generation of the POFile will be quick (even doable
in 2s[1]), but because there are many (0.5%?) POFiles where it wouldn't,
we have this old queue mechanism. Users hate it.
If this can be made easier to implement and support, I'd be very
happy :)
Cheers,
Danilo
[1] For a full language pack export for Ubuntu, containing ~75k files,
we produce it in 9h or roughly 0.5s per POFile.
PS. To be honest, in the past, entire PO file exports were not doable in
5s for anything but the most trivial cases. We've since improved so can
think about better solutions for users.
Follow ups
References