[packagekit] Queuing of transactions

Richard Hughes hughsient at gmail.com
Tue Sep 18 16:16:03 PDT 2007


I've just completed a big entry off the TODO: queuing transactions that
can't be done in parallel. This means you can do RefreshCache and then
GetUpdates straight away, and the latter will wait (async of course) for
the first to finish. Before we just failed the second transaction which
wasn't very nice. Also, when it's sane to do so, we run all queries
(that don't touch caches) in parallel with other tasks.

The code is lightly tested, but seems to work okay for me. This was a
bit of code that I had put off writing for a few weeks as it was always
going to be tricky to do right.

There's also code in the daemon now to log transactions to the database
that have potentially changed things. This is the first chunk of code
needed for the rollback support for some backends, and also allows us to
find out "what was updated yesterday because now java doesn't work".

So basically what I'm trying to say is that there is lots of new code in
git today, so expect it to break horribly. Please yell on the list if
you find anything odd.

See http://people.freedesktop.org/~hughsient/temp/pk-waiting.png for
coolness.

Thanks.

Richard.





More information about the PackageKit mailing list