I totally agree the image looks hacky, but your starthook runs on pageload, right?
Yes it does. The big difference to just use a plugin in this case is that it’s aware of the $page
object, which you don’t have when loading a plugin.
The whole point about a queue is to get work out of the pageload, into a separate process. Any solution that triggers with a panel hook, within a plugin, etc, will defeat the purpose of the queue.
Alright. I tend to agree. It will take some pageload depending on how slow the job is. I agree with that.
I have a project http://modehallen.se/ where I populate a database. Often it does not do everything in one job. It’s split it up into a smaller jobs. For example, it insert 100 products each time, instead of 10000 in one go.
which is even worse than doing it inline
Instead of doing what I suggested with starterhook or the image hack, it could probably be solved with an ajax call.
By this discussion it’s clear that a server cron is less hacky and zero overhead, so it should probably be used when ever possible.