Dean,

Thanks for the helpful info.

1) repl: sure, I can always do repl, but that is hardly a production 
process way of doing things, and makes it very difficult to change things 
in context, inside objects, closures, etc.
2) resque: more workers, rather than getting at the actual existing 
process. I have always liked the concept of jmx: you have a side channel to 
get in and administer your app.
3) dnode: now you're talking. I like this. I prefer an open http style, but 
this is really nice. It needs some security, but is very helpful.

Thanks!

On Monday, June 11, 2012 12:20:43 AM UTC+3, Dean Mao wrote:
>
> standard node kind of has something like this...  you can enable the 
> built-in repl on a port: http://nodejs.org/api/repl.html
>
> if you want something more fancy, there's dnode or resque.  there are lots 
> of things out there for this kind of need already...
>
>
> On Sun, Jun 10, 2012 at 4:51 AM, deitch wrote:
>
>> Or better yet: just solve it yourself.
>>
>> I built exactly that, jsmx. Available on npm, very simple source at 
>> https://github.com/deitch/jsmx
>>
>>
>>
>> On Sunday, June 10, 2012 11:35:12 AM UTC+3, deitch wrote:
>>>
>>> And, yes, I *know* I can use event emitter for this (or EventEmitter2, 
>>> which is cleaner), but the point is to have it.
>>>
>>> On Sunday, June 10, 2012 11:21:43 AM UTC+3, deitch wrote:
>>>>
>>>> Is anything out there?
>>>>
>>>> Sample use case: app has several logging levels, with a default. The 
>>>> default is overridden by an env var LOG_LEVEL, read on startup. Easy. 
>>>>
>>>> Now I want to change the LOG_LEVEL to debug (or some higher level) for, 
>>>> say, 30 minutes, and then change it back. I do *not* want to restart my 
>>>> app 
>>>> - which would be necessary if I just changed the env var - because I may 
>>>> lose some state that is crucial to my debugging effort.
>>>>
>>>> Is there anything?
>>>>
>>>> The way I would see it working, you have a "message bus" type object, 
>>>> which anyone can subscribe to, but it publishes from the outside using 
>>>> http.
>>>>
>>>> var mx = require('mx');
>>>> mx.sub('messagePattern',**callbackFn);
>>>>
>>>> Option A: use the already existing http listener, but have a special 
>>>> URL path 
>>>> http://myserver/specialpath?**param=val&param=val&;..<http://myserver/specialpath?param=val&param=val&;..>
>>>> ..
>>>> Option B: set up a "message bus" type object, which anything can listen 
>>>> to for messages, it then listens on a different port to isolate the 
>>>> traffic 
>>>> from production traffic.
>>>>
>>>> mx.listen(somePort);
>>>>
>>>> From the outside, you then talk HTTP to that given port (should have a 
>>>> well-known default) to send a management message to the app:
>>>>
>>>> curl http://localhost:somePort/**messagePattern?param=val&**
>>>> param=val....
>>>>
>>>> (or you can PUT or POST).
>>>>
>>>> Would need some form of authentication, but that is easy using http 
>>>> auth.
>>>>
>>>> Thoughts here?
>>>>
>>>  -- 
>> Job Board: http://jobs.nodejs.org/
>> Posting guidelines: 
>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>> You received this message because you are subscribed to the Google
>> Groups "nodejs" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>
>
>

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to