![]() |
Wagon: a generic pull-model job distribution service |
Wagon presents a really simple mechanism for farming out work to a number of volunteers.
see? simple.
as you may have guessed, in order to customize wagon to run your job,
you need to write 3 programs: an input verifier, a result verifier, and
a proxy. don't worry though: these can be very simple
programs. an input verifier for a job type foo is just some
program called foo-job-verify which returns 0 iff its
single command line argument represents a valid job of type foo. a
result verifier is the same, only it's called
foo-result-verify and it verifies results rather than
jobs. a proxy is a program which wraps another program's invocation
interface: the proxy is provided with 2 command line arguments, and it
must endeavour to turn the first into the second by way of the program
it's wrapping. for a job of type foo, the proxy is called
foo-proxy.
| g94-job-verify | g94-proxy | g94-result-verify |
|---|---|---|
|
|
|
No, this doesn't prevent someone from submitting really wacky jobs or results, it's just a plausible sanity check. For input checking, I suggest you adopt a public key signature (such as sigs). You'll have to work out for yourself if there's any way to check the validity of results, for your particular job type. If there isn't, you're just going to have to put up with annoying people who think it's clever to submit bogus results. there is a more thourough tutorial inside the distribution, as well as online, here.