I've gotten a bit sidetracked and have been taking a closer look at the
worker and have a much better idea how it works. It is showing I think
it badly needs some serious re-factoring or a re-write. A centralized
queue with events added to it by the schedulers would be a lot simpler
and creates a new Runner for each Task have about the same efficiency,
and probably better efficiency if we used a thread pool with a shared queue.
Currently, A Runner object is created for each Task. The Runner runs
that Task and then asks the Scheduler for more Tasks. If there's more
than one Task, a new Runner started for each extra Task, and those
Runners will repeat the process. This chaining goes on indefinitely.
The Runner dies when the Scheduler has no more Tasks for it, or it gets
poisoned. A few comments would have made this a lot easier to follow.
-John
########################################################################
Use REPLY-ALL to reply to list
To unsubscribe from the QSERV-L list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1
|