Seti-like program

I'd like to consider making a program which is 'seti-like' where I could run
a command-line Python script to just 'do something', and then be able to
launch a viewer program (maybe linux x11 or Windows, possibly over a network
socket) using wxPython to be able to inter-act with it. (Start jobs, view
queue of jobs, modify jobs, etc, or even just watch the work process).

I was wondering if anyone out there had any experience with this, maybe had
an example to share.

I consider seti@home a good example, also maybe Arcserve backup program with
manager.

Advertisements

Guest

Anyway, this is quite simple.
All you realy need is a server with a GUI that listens all the time for
incoming connections,
and a client that will connect to the server and work in the
background.

Here are some thoughts...

- Figure out what action you want the client to do. Make sure you
have a working script that does that already, that could later be
connected to the actual client.
- How much control do you need over the client? do you want to just
send commands and see the result? or do you want to recieve
screenshots, or even "live" view of the client?

Advertisements

I want to have a program download pictures from a netCam (Axis 2100). So, I
want to start & stop, and also see progress (how many photos, are there
errors, did I begin encoding to DivX, etc) for multiple cameras.

-Dave
<> wrote in message
news:...
> Other examples- PCAnyWhere, a Trojan Horse ..
>
> Anyway, this is quite simple.
> All you realy need is a server with a GUI that listens all the time for
> incoming connections,
> and a client that will connect to the server and work in the
> background.
>
> Here are some thoughts...
>
> - Figure out what action you want the client to do. Make sure you
> have a working script that does that already, that could later be
> connected to the actual client.
> - How much control do you need over the client? do you want to just
> send commands and see the result? or do you want to recieve
> screenshots, or even "live" view of the client?
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>

GMane Python wrote:
> I'd like to consider making a program which is 'seti-like' where I could run
> a command-line Python script to just 'do something', and then be able to
> launch a viewer program (maybe linux x11 or Windows, possibly over a network
> socket) using wxPython to be able to inter-act with it. (Start jobs, view
> queue of jobs, modify jobs, etc, or even just watch the work process).

It depends on your scope of course... If you want the whole framework
involved in a seti-like system, with distribution of tasks and load
balancing etc, I wouldn't try to build a new system like that. I'd use
something like Sun Grid Engine. Actually, I'd use Sun Grid Engine.

Of course, this might be overkill for you. Embedding a socket server
or even a little web server in your Python script might be enough if
you just need to monitor a working program, but for starting new jobs
and job queues etc, SGE is probably the path to follow.

I don't think SGE works on Windows, but it works on the major Unix
dialects, including Linux and Mac OS/X. I'm sure you could write a
Python program that monitors and manages SGE from Windows if you like.

Both CORBA implementations and simpler things like PYRO could help, but
these systems are more aimed at enabling communication between programs
running in a distributed fashion, and I don't think they target tasks
such as job queues, starting and stopping jobs, or load balancing etc.

Magnus Lycka wrote:
> Both CORBA implementations and simpler things like PYRO could help, but
> these systems are more aimed at enabling communication between programs
> running in a distributed fashion, and I don't think they target tasks
> such as job queues, starting and stopping jobs, or load balancing etc.

Indeed, not directly. But it would be possible to create such a thing.

And the latest Pyro (3.5 beta, at the moment) contains an interesting
example that automatically partitions a computation task, distributes
the parts among available 'processor' objects, and aggregates the
result. I have supplied a sorting task and a md5 'cracking' task.
It is perhaps not really what was asked, but I think it is at least
a bit relevant to this topic.

Share This Page

Welcome to The Coding Forums!

Welcome to the Coding Forums, the place to chat about anything related to programming and coding languages.

Please join our friendly community by clicking the button below - it only takes a few seconds and is totally free. You'll be able to ask questions about coding or chat with the community and help others.
Sign up now!