[Swift-devel] coaster client

Mihael Hategan hategan at mcs.anl.gov
Mon Nov 25 17:13:14 CST 2013


Hi,

We spoke about this on the weekly meeting.

I committed a basic coaster client. It has a launcher called
(unsurprisingly) "coaster-client". I also added an info command which
can be used to get information about blocks/workers/jobs from the
service.

Run like this:

coaster-client <serviceURL> info (workers|jobs|blocks)

you can also run stuff using WorkerShellCommand like this:

coaster-client <serviceURL> runcmd ls

The code is rather basic, but it gets the point accross. A few comments
I want to make:

- The INFO stuff is sent back as formatted strings. It might be more
proper to serialize the information in a more structured way. While
there is no automatic way of doing so (except ObjectOutputStream, which
isn't portable), the effort of doing so might pay of in not having to
deal with parsing strings.
- INFO is a pull-based thing. The coaster service already sends push
information about blocks/workers/jobs in the form of remote log data for
the first two and status updates for the latter. This is used by the
HTTP and Swing UIs to plot #of blocks/workers/jobs. So in production
code, one might want to use that instead of polling the service
regularly.

Mihael




More information about the Swift-devel mailing list