View Single Post
Old 11-06-2014, 03:41 AM   #1
HarryT
eBook Enthusiast
HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.HarryT ought to be getting tired of karma fortunes by now.
 
HarryT's Avatar
 
Posts: 85,548
Karma: 93383099
Join Date: Nov 2006
Location: UK
Device: Kindle Oasis 2, iPad Pro 10.5", iPhone 6
Enhacement request: Merge similar jobs in the job queue

This is a follow-up to a post I made yesterday in the "Devices" sub-forum.

If you're sending a number of books to a device from a Calibre library, you can end up with a job queue that looks something like:

Upload 1 book
Upload 3 books
Upload 2 books
Upload 1 book
etc.

The problem is that, as things stand at the moment, Calibre does a "Send metadata to device" step at the end of each one of these jobs, and although uploading a book to a device might only take 2s, the subsequent "Send metadata" step (which, as Kovid kindly explained, sends metadata for all the books on the device) can easily take 30-40s on my Kindle Voyage. This can take literally hours if sending books in a large number of separate jobs.

I was thinking, and it occurred to me that perhaps there could be potential for serious optimisation here. Suppose that, when an "Upload Books" job was created and queued, the job queue manager were to scan the current queue and, if it found another "Upload Books" job in the queue, simply added the list of books in the new job to that of the old? That way, the slow "Send metadata" step would only be done once when the combined job ran.

Is this a feasible idea? It really could save a huge amount of time for the user if it were feasible to implement.
HarryT is offline   Reply With Quote