So, https://issues.jenkins-ci.org/browse/JENKINS-31801 - I'm starting to
dive into the Workflow code to figure out how to actually *do* this. I'm
only really concerned with adding category throttling support for Workflow
node blocks - i.e., wrap your node block with "throttle('some-category') {
... }" and that will be throttled in the same way as any other job with
that category. It might make sense to add more logic down the road, but
that seems like enough of a challenge to start. =)

In non-Workflow world, what we do is check for Queue.Tasks that are, in
fact, Jobs, and see if they've got the appropriate ThrottleJobProperty set,
etc to determine whether we've hit the throttle max, using
ThrottleQueueTaskDispatcher, which extends QueueTaskDispatcher, etc... But
in Workflow world, I've got questions that a cursory diving through the
source has not yet been able to answer:

- Do Workflow steps/nodes/whatever (FlowNode? FlowExecution? Not sure which
class is the equivalent of Job for individual chunks of the DSL?) implement
Queue.Task eventually? Do they end up getting fed through Queue.JobOffer,
which would get them to QueueTaskDispatcher?
- Ok, that ended up being one big question, so I'll leave it at that for
the moment. =)

A.

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CAPbPdObFxBQZVBBUSKojZH9p3VqtPOWQOXSFrCjNc3DEuW7XSA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to