Closed
Bug 1137519
Opened 10 years ago
Closed 10 years ago
Add Pulse Consumer for Treeherder Job Action messages.
Categories
(Webtools :: Pulse, defect)
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: bc, Unassigned)
References
Details
Attachments
(1 obsolete file)
Bug 1113281 introduced the ability for Treeherder to emit pulse messages when a user initiates a job retrigger or cancel via the Treeherder UI. It would be good to make a standard consumer which people could use to get such messages.
Since we may have different exchanges for Treeherder production, staging, dev or local instances, I think adding a parameter to the constructor to specify the exchange to be used is appropriate rather than having multiple constructors for the various cases.
This patch by default uses the exchange "exchange/treeherder-stage/v1/job-actions"
from mozillapulse.consumers import TreeherderJobActionsConsumer
pulse = TreeherderJobActionsConsumer(**pulse_args)
or allow the user to override the exchange
pulse = TreeherderJobActionsConsumer(
exchange='exchange/treeherder-stage/v1/job-actions', **pulse_args)
or you could even put the exchange in the pulse_args dict and pass it implicitly.
This would support run-time switching of the exchange depending on a configuration option.
lightsofapollo: Will the production Treeherder use the value "exchange/treeherder/v1/job-actions" for the exchange?
Attachment #8570209 -
Flags: feedback?(mdoglio)
Attachment #8570209 -
Flags: feedback?(mcote)
Attachment #8570209 -
Flags: feedback?(jlal)
Reporter | ||
Comment 1•10 years ago
|
||
(In reply to Bob Clary [:bc:] from comment #0)
Should have said:
>
> This patch by default uses the exchange
> "exchange/treeherder/v1/job-actions"
Comment 2•10 years ago
|
||
Comment on attachment 8570209 [details] [diff] [review]
TreeherderJobActionsConsumer.patch
Review of attachment 8570209 [details] [diff] [review]:
-----------------------------------------------------------------
It might be more convenient to just take the exchange-username suffix as a parameter, since the assertion there requires the rest of the exchange name to always be the same, e.g.
c = TreeherderJobActionsConsumer('-staging', ...)
Attachment #8570209 -
Flags: feedback?(mcote)
Reporter | ||
Comment 3•10 years ago
|
||
If we remove the exchange argument in favor of another which is something like a 'subexchange', we are still left with the possibility that the caller will use the full set of keyword arguments available from GenericConsumer which means we would need to handle the case where there were both an exchange and a subexchange.
This makes me think that creating a separate TreeherderJobActionsConsumer class is actually unnecessary and that we should instead just use the GenericConsumer.
from mozillapulse.consumers import GenericConsumer
from mozillapulse.config import PulseConfiguration
pulse_args = {...}
pulse = GenericConsumer(PulseConfiguration(**pulse_args),
exchange='exchange/treeherder-stage/v1/job-actions',
**pulse_args)
What would you say if I just WONTFIXed this bug?
Flags: needinfo?(mcote)
Comment 4•10 years ago
|
||
That's actually fine by me too, since we'll be (eventually) moving to a new, better Pulse library.
Flags: needinfo?(mcote)
Reporter | ||
Updated•10 years ago
|
Attachment #8570209 -
Attachment is obsolete: true
Attachment #8570209 -
Flags: feedback?(mdoglio)
Attachment #8570209 -
Flags: feedback?(jlal)
Reporter | ||
Comment 5•10 years ago
|
||
Okie Dokie.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•