r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[Core] Discuss core issues

Graham
26-Mar-2010
[16115x3]
Some of them are listening to ports, but others are just processing 
queues ...so the former I can open and close a port to them, the 
latter I can not.
And of course I'd like to be able to restart any processes that have 
locked up ...
One thing that I don't like is that if an encapped application dies 
with an error, it stays resident with any file locks active.  Wouldn't 
it be better to have an option to just quit ( writing a log entry 
first ) ?  So, then I can just check to see if the app is running.
Steeve
26-Mar-2010
[16118]
can't you have a process to manage others using an udp port for instance 
?
Graham
26-Mar-2010
[16119]
some of these are core apps ...
Steeve
26-Mar-2010
[16120]
R2 ?
Graham
26-Mar-2010
[16121]
all r2
Steeve
26-Mar-2010
[16122]
and so, you could have a specific process which monitors the others, 
using tcp or udp, no ?
Graham
26-Mar-2010
[16123]
I can monitor some by tcp .. .but how can I use udp to monitor the 
others?
Steeve
26-Mar-2010
[16124]
the others have some loop and wait process i guess, just insert a 
wait on an udp port as well
Graham
26-Mar-2010
[16125]
So, if it is doing stuff .. it will miss the udp ping ?
Steeve
26-Mar-2010
[16126x2]
no, if the monitor accept some lantency; For example if a process 
is not responding after few pings.
But in the case of huge process, the client process should send himself 
a ping to the monitor to advert is doing stuffs (at some points of 
the code)
Graham
26-Mar-2010
[16128]
like a log file
Steeve
26-Mar-2010
[16129]
eh ?
Graham
26-Mar-2010
[16130x2]
if you write to a log file, then that's like a ping to a monitor
But actually the monitor is a user app that they run from their desktop 
.. so it can't accept pings from the process.
Steeve
26-Mar-2010
[16132x2]
but a port dialing is more efficient and has less overhead
why it can't ?
Graham
26-Mar-2010
[16134]
how does it know where the user app is?
Steeve
26-Mar-2010
[16135x2]
Simple. Each time a targetted process start,k it send its id to the 
monitor. (hey ! Mr Monitor i'm here and my name is "toto")
it's a standard client/server exchange, each client has to establish 
a connection with the server.
Graham
26-Mar-2010
[16137]
So, I need a central server as well...
Steeve
26-Mar-2010
[16138]
It's the monito actually. You have one monitor (the server) for several 
processes (the clients)
Graham
26-Mar-2010
[16139]
I guess it's easier to do it that way then have the user interrogate 
all the processes
Steeve
26-Mar-2010
[16140]
the monitor open a tcp/udp port and wait for connections.
BrianH
26-Mar-2010
[16141]
The monitor could be headless and run as a service, with a separate 
GUI process that runs in user space.
Graham
26-Mar-2010
[16142]
To run a rebol app as a service it has to be guiless
Steeve
26-Mar-2010
[16143x3]
it's not obligatory a service.
When a client process start it try
it tries to open a connection with the monitor, it he connection 
fail, he launch himself the monitor, wait few seconds and retry to 
connect.
it he = if the
BrianH
26-Mar-2010
[16146x2]
Right. A lot of software does the split process thing nowadays, sometimes 
with the GUI running in the tray (or whatever the OS version if that 
is).
if -> of
Graham
26-Mar-2010
[16148]
So, how does that work?  the core service launches a gui app that 
sits in the tray?
Steeve
26-Mar-2010
[16149x2]
the monitor don't necesseary have the need of a gui
the GUI could be another client process
Graham
26-Mar-2010
[16151]
No, the monitor doesn't need a gui
BrianH
26-Mar-2010
[16152]
That usually works by having the core service run on its own, the 
the tray app starting at user login, or on demand.
Graham
26-Mar-2010
[16153]
and the gui app communicates by tc to the service?
BrianH
26-Mar-2010
[16154]
Yup, or whatever other interprocess communication model you prefer 
(DBUS?)
Graham
26-Mar-2010
[16155x2]
so need some type of encrypted tcp communications ...
Just asking as I need to scale my apps as I get more and more users
BrianH
26-Mar-2010
[16157]
Has anyone made a /View tray app that has no default window other 
than the tray app, and maybe a options dialog?
Graham
26-Mar-2010
[16158]
Need to get rid of all the GUIs ..
Steeve
26-Mar-2010
[16159]
why that ? the monitor run on the same computer than the serices 
no ?
Graham
26-Mar-2010
[16160x2]
You can start a view app in the tray ...
No, the monitor may not be running on the same computer
Steeve
26-Mar-2010
[16162]
you want monitor the services on a local network ?
BrianH
26-Mar-2010
[16163]
It only needs to be encrypted if you are communicating between computers. 
It's much harder to break into localhost communication (afaik).
Graham
26-Mar-2010
[16164]
Yes monitor services on a number of servers