[Buildbot-devel] Seems routing keys in doc are not complete?

Dustin J. Mitchell dustin at v.igoro.us
Wed Jun 18 14:12:47 UTC 2014


That diagram is still too complicated -- all of the diamond boxes are
unnecessary and will cause incorrect behavior.  We never want to use an
existing queue.  It's not an error to have two consumers with the same
routing key.  And it's not an error to use the same callback for two
consumers.

The flow should look something like this:

something calls startConsuming()
format the routing key..
create a new queue according to the routing key
end

(you'll need a separate flow chart for when the consumer is stopped)

Dustin


On Wed, Jun 18, 2014 at 9:28 AM, Damon Wang <damon.devops at gmail.com> wrote:

> Hi,
>
> My design has been changed!
>
> the code:
>
> https://github.com/MatheMatrix/Gist/blob/master/kumbu.test.buildbot.2.py
>
> the flow chart:
>
>
>
>
>
> 2014-06-18 20:39 GMT+08:00 Dustin J. Mitchell <dustin at v.igoro.us>:
>
> `startConsuming` can be called with an *arbitrary* pattern - we can't
>> enumerate them all, any more than Python could enumerate all of the
>> things any Python program might pass to `print`.  More to the point,
>> the MQ layer should not hard-code anything about routing keys or
>> content.  If I want to add a new message with routing key
>> "foo.18.bar", I shouldn't need to make any changes to the MQ layer --
>> I just need to send the message.
>>
>> For users' convenience, we do try to enumerate the messages that
>> Buildbot will send, and these are documented with the relevant data
>> type:
>>   http://docs.buildbot.net/latest/developer/rtype-builder.html
>>
>> I had completely forgotten that there were also messages described in
>> mq.rst.  Those shouldn't be there, and I'll delete them now.  It's
>> also worth noting that some of the messages described in the
>> rtype-*.rst files are incorrect.  The format of the routing keys was
>> changed incompletely a while back, and we haven't cleaned it up yet.
>> But that shouldn't matter to you -- your job is just to deliver
>> messages with routing keys, not to worry about what those keys are.
>>
>> Dustin
>>
>> On Wed, Jun 18, 2014 at 5:37 AM, Damon Wang <damon.devops at gmail.com>
>> wrote:
>> > Hi,
>> >
>> > I have set a small sniffer to monitor mq's working, and found some
>> filters
>> > that consumer use are not list at
>> > document(http://docs.buildbot.net/nine/developer/mq.html).
>> >
>> > For example (the format is consume: callback: filter: persistent):
>> >
>> > consume: <bound method Consumer.onMessage of <buildbot.www.sse.Consumer
>> > object at 0x413b650>> : ('masters', None, None) : None
>> >
>> > consume: <bound method Consumer.onMessage of <buildbot.www.sse.Consumer
>> > object at 0x413b650>> : ('changes', None, None) : None
>> >
>> > ...
>> >
>> > Should we sometime complete the doc? The work won't be too difficult,
>> just
>> > search every startConsuming's callby and record it.
>> >
>> > Regards,
>> > Damon
>> >
>> >
>> ------------------------------------------------------------------------------
>> > HPCC Systems Open Source Big Data Platform from LexisNexis Risk
>> Solutions
>> > Find What Matters Most in Your Big Data with HPCC Systems
>> > Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
>> > Leverages Graph Analysis for Fast Processing & Easy Data Exploration
>> > http://p.sf.net/sfu/hpccsystems
>> > _______________________________________________
>> > Buildbot-devel mailing list
>> > Buildbot-devel at lists.sourceforge.net
>> > https://lists.sourceforge.net/lists/listinfo/buildbot-devel
>> >
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20140618/6c64fe5e/attachment.html>


More information about the devel mailing list