Re: [Tracker] The tracker-store and tracker-store-queue branches



On Thu, 2009-05-21 at 11:27 +0200, Philip Van Hoof wrote:

We hope that our community contributors will somehow find a way to join
us in our efforts. We're trying really hard to keep you guys involved.
But being a team of people, we're also working pretty fast nowadays.


I'll explain one such experiment that I started myself today:

Because tracker-store will be receiving large amounts of requests to
store something it's possible that unless handled the requests would
slow the service down.

Meanwhile it's actually the case that queries have precedence over the
storage requests.

When asking a query, an application doesn't want to wait on a batch of
storage requests that came from another application.

For this I started the branch tracker-store-queue [1]

It introduces the internal TrackerStoreQueue API in tracker-store's
process. This internal API is not the API that must be used by apps to
store things. We have a DBus method called SparqlUpdate for this. It's
indeed the case that the DBus method is implemented in the service using
the TrackerStoreQueue API.


[2] Is how the API looks

Other components that will use this internal API include the TTL import
and the Push modules. The queue will be used to reorder update and query
requests based on priority.

If you read the implementation you'll notice that we use the GMainLoop
together with GQueue. This is a design decision (we are reluctant to
start using a thread, for example by using GThreadPool, unless really
needed).


--- 

[1] http://git.gnome.org/cgit/tracker/log/?h=tracker-store-queue
[2] http://git.gnome.org/cgit/tracker/tree/src/tracker-store/tracker-store-queue.h?h=tracker-store-queue


-- 
Philip Van Hoof, freelance software developer
home: me at pvanhoof dot be 
gnome: pvanhoof at gnome dot org 
http://pvanhoof.be/blog
http://codeminded.be




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]