Contents |
BOSS is a workflow orchestrator, a system that can be configured to automate your workflow requirements; it interacts with the OBS and with people and systems around it to apply your workflow steps. For more BOSS related general information, see Infrastructure/BOSS.
BOSS Participant is the actual actor in BOSS architecture. Participant wraps other systems and services related to software development, quality assurance and integration, allowing BOSS to interact with different parties in automated way.
BOSS Participant action explained in three simple steps:
BOSS participant is written in Python language (other bindings will be available later). Following code snippets are from Notifier Participant (see chapter Example Code).
The participant's name should give an indication of the function it does, usually in the form noun_verb.py
from RuoteAMQP.workitem import Workitem from RuoteAMQP.participant import Participant
The parent class Participant defined in participant.py of the route-amqp-pyclient package takes care of most of the details needed to create a participant. You just need to subclass it and define a "consume" member function.
class NotifierParticipant(Participant):
if __name__ == "__main__":
print "Notifier participant running"
p = NotifierParticipant(ruote_queue="notifier", amqp_vhost="ruote-test")
p.register("notifier", {'queue':'notifier'})
p.run()
See following participants for example implementation: [notifier_participant.py] [build_ks_participant.py]