> On 24 Jan 2018, at 19:39, [email protected] wrote:
> 
> My bad :(
> 
> If you don't mind can you please clarify below queries. 
> 
> If I use either of OpenSSL or AES security then can't it be possible to 
> decode it in python? 

I guess can’t say I tried, with choria you would not have a problem. 

> Is there any asynchronous ruby stomp consumer available like Python 
> Stompest(which will consume n number of messages parallel)? Since I need to 
> use reply-to with the mco commands and so many mco commands will keep 
> executed, so I need a very facts consumer which can consume message very 
> quickly. 

Normal ruby stomp gem does this fine. You have some activemq problems which is 
why it doesn’t work.  you far exceed what is possible with it and refuse 
suggestions to use something better

With NATS you can run 100 000 nodes on a small VM 


> 
> 
> 
>> On Thursday, January 25, 2018 at 12:00:17 AM UTC+5:30, R.I.Pienaar wrote:
>> 
>> 
>>> On 24 Jan 2018, at 19:11, [email protected] wrote:
>>> 
>>> Am not using any security plugin,
>>> 
>>> securityprovider = psk
>>> plugin.psk = unset
>> 
>> 
>> Then you are both deeply irresponsible and out of luck - you have a giant 
>> unauthenticated hugely insecure distributed root shell. Helping you further 
>> is just plain irresponsible. 
>> 
>> That plugin uses a ruby specific encoding format. You can’t decode it in 
>> python. 
>> 
>> 
>>> 
>>> 
>>> 
>>> 
>>>> On Wednesday, January 24, 2018 at 11:32:52 PM UTC+5:30, R.I.Pienaar wrote:
>>>> yes, you need body and decode that 
>>>> 
>>>> what security plugin do you use? 
>>>> 
>>>> 
>>>> On Wed, 24 Jan 2018, at 18:38, [email protected] wrote: 
>>>> > Ok managed to process little bit but struggling with the format, 
>>>> > 
>>>> > Looks like the Stompest consumer frame is returning the data in dict 
>>>> > format 
>>>> > as below, 
>>>> > 
>>>> > {'command': 'MESSAGE', 'body': 
>>>> > b'\x04\x08{\x0b:\tbody"n\x04\x08{\x08:\tdata{\n:\x0bstdout"\x14output- 
>>>> > data\n:\rexitcodei 
>>>> > \x00:\x0bstderr"\x00:\x0boutput0:\nerror0:\x0estatusmsg"\x07OK: 
>>>> > \x0fstatuscodei 
>>>> > \x00:\rsenderid"\x13server1:\thash"%903ff3bf7e92121051fd6sd23d8f718a: 
>>>> > \x10senderagent"\nshell:\x0cmsgtimel+\x07\x85\xc2hZ: 
>>>> > \x0erequestid"%c6c257193d805de2sd2336e5bea9f87e',  
>>>> > 'rawHeaders': [('content-length', '264'), ('expires', '1516815051335'), 
>>>> > ('destination', '/queue/mcollective.queue'), ('priority', '4'), 
>>>> > ('message-id', 'ID:activemqserver-45532-1516365445248-3:49:-1:1:73'), 
>>>> > ('content-type', 'text/plain; charset=UTF-8'), ('timestamp', 
>>>> > '1516814981335')]} 
>>>> > 
>>>> > If I see the value for the key body in the above dict, looks like not 
>>>> > the 
>>>> > perform format of Hash and if you see at the end of body value the 
>>>> > closed 
>>>> > curly '}' is missing. But not sure if its missing or its not showing due 
>>>> > to 
>>>> > the encryption. Would you please help me to understand why it comes like 
>>>> > this? 
>>>> > 
>>>> > 
>>>> > On Sunday, January 21, 2018 at 11:38:09 PM UTC+5:30, R.I.Pienaar wrote: 
>>>> > 
>>>> > > It’s probably not JSON. 
>>>> > > 
>>>> > > Did you print what comes from the base64? 
>>>> > > 
>>>> > > --- 
>>>> > > R.I.Pienaar 
>>>> > > 
>>>> > > On 21 Jan 2018, at 16:23, [email protected] <javascript:> wrote: 
>>>> > > 
>>>> > > I tried with the method which you suggested and getting below error 
>>>> > > when 
>>>> > > consumer is trying to consume the message. 
>>>> > > 
>>>> > > 'utf-8' codec can't decode byte 0x9a in position 0: invalid start byte 
>>>> > > 
>>>> > > Any idea please. 
>>>> > > 
>>>> > > 
>>>> > > On Sunday, January 21, 2018 at 6:52:57 PM UTC+5:30, [email protected] 
>>>> > > wrote: 
>>>> > > 
>>>> > >> The data is not corrupted, since I was able to get the data using 
>>>> > >> Ruby by 
>>>> > >> importing mcollective and using native mcollective decode. 
>>>> > >> 
>>>> > >> And this what the code I tried in Python, 
>>>> > >> 
>>>> > >> def run(self): 
>>>> > >>     client = Stomp(self.config) 
>>>> > >>     yield client.connect() 
>>>> > >>     headers = {StompSpec.ACK_HEADER: StompSpec.ACK_CLIENT_INDIVIDUAL, 
>>>> > >> 'activemq.prefetchSize': '10000'} 
>>>> > >>     client.subscribe(self.QUEUE, headers, 
>>>> > >>                      listener=SubscriptionListener(self.consume, 
>>>> > >> errorDestination=self.ERROR_QUEUE)) 
>>>> > >> 
>>>> > >> 
>>>> > >> def consume(self, client, frame): 
>>>> > >>     data = json.loads(base64.b64decode(frame.body)) 
>>>> > >>     print(data) 
>>>> > >>     
>>>> > >> 
>>>> > >> 
>>>> > >> 
>>>> > >> 
>>>> > >> On Sunday, January 21, 2018 at 4:33:24 PM UTC+5:30, R.I.Pienaar 
>>>> > >> wrote: 
>>>> > >> 
>>>> > >>> 
>>>> > >>> 
>>>> > >>> On Sun, 21 Jan 2018, at 10:50, [email protected] wrote: 
>>>> > >>> > Hi, 
>>>> > >>> > 
>>>> > >>> > Am trying to use different consumer which can consume messages 
>>>> > >>> > which 
>>>> > >>> is 
>>>> > >>> > being called with reply-to option and the consumer which am trying 
>>>> > >>> > to 
>>>> > >>> use 
>>>> > >>> > is stompest (https://github.com/nikipore/stompest) which is Python 
>>>> > >>> based. 
>>>> > >>> > Am able to configure this and its receiving the message but unable 
>>>> > >>> > to 
>>>> > >>> > decode the message using base64. Am not using any security plugin 
>>>> > >>> > in 
>>>> > >>> my 
>>>> > >>> > mcollective environment so I hope MCollective does plain base64 
>>>> > >>> encoding 
>>>> > >>> > only, so with that I tried to decode the message in Python using 
>>>> > >>> > same 
>>>> > >>> > base64 but its not working. Sometimes getting "Incorrect Padding" 
>>>> > >>> issue and 
>>>> > >>> > sometimes byte related errors are appearing. So looking proper way 
>>>> > >>> > to 
>>>> > >>> > decode the mcollective message using python and get the message 
>>>> > >>> payload 
>>>> > >>> > data. 
>>>> > >>> > 
>>>> > >>> 
>>>> > >>> padding error means some data at the end is missing - often normal - 
>>>> > >>> base64 data has to be dividable by 4, if not add "=" at the end till 
>>>> > >>> it is. 
>>>> > >>>  Then it should work 
>>>> > >>> 
>>>> > >>> not sure what happens that your data is corrupt though 
>>>> > >>> 
>>>> > >>> -- 
>>>> > >>> R.I.Pienaar / www.devco.net / @ripienaar 
>>>> > >>> 
>>>> > >> -- 
>>>> > > 
>>>> > > --- 
>>>> > > You received this message because you are subscribed to the Google 
>>>> > > Groups 
>>>> > > "mcollective-users" group. 
>>>> > > To unsubscribe from this group and stop receiving emails from it, send 
>>>> > > an 
>>>> > > email to [email protected] <javascript:>. 
>>>> > > For more options, visit https://groups.google.com/d/optout. 
>>>> > > 
>>>> > > 
>>>> > 
>>>> > -- 
>>>> > 
>>>> > --- 
>>>> > You received this message because you are subscribed to the Google 
>>>> > Groups "mcollective-users" group. 
>>>> > To unsubscribe from this group and stop receiving emails from it, send 
>>>> > an email to [email protected]. 
>>>> > For more options, visit https://groups.google.com/d/optout. 
>>>> 
>>>> 
>>>> -- 
>>>> R.I.Pienaar / www.devco.net / @ripienaar 
>>> 
>>> -- 
>>> 
>>> --- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "mcollective-users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
> 
> -- 
> 
> --- 
> You received this message because you are subscribed to the Google Groups 
> "mcollective-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"mcollective-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to