Changes between Version 1 and Version 2 of RemoteJobs


Ignore:
Timestamp:
Jun 17, 2011, 3:47:44 PM (13 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RemoteJobs

    v1 v2  
    11= Web services for remote job submission =
    22
    3 job_control.php
     3This document describes remote interfaces for submitting jobs
     4remotely to a BOINC server.
     5The APIs are accessed by sending a POST request,
     6using HTTPS, to PROJECT_URL/job_control.php
     7
     8The inputs and outputs of each API or XML.
     9If an operation fails, the output is of the form
     10{{{
     11<error>
     12   <message>X</message>
     13</error>
     14}}}
     15where X is an error message.
     16
     17All operations include the authenticator of the user making the request.
     18This user must be marked as a "job submitter" in the BOINC database.
    419
    520== Describing a batch ==
    621
    7 A job is described by
     22A single job is described by
    823{{{
    924<job>
    1025   [<command_line>C</command_line>]
    11    [<input_file>F</input_file>]
    12    ...
     26   [<input_file>URL or path</input_file>]
     27   ... other input files
    1328</job>
    1429}}}
     30C and F are macro-substituted for sweep variables: see below.
    1531
    16 C and F are macro-substituted for sweep variables: see below.
     32Each input file is specified by either a URL accessible to the server,
     33or by a path on the server.
    1734
    1835A parameter sweep is described by
     
    2643the string "foo" is macro-substituted with values from x to y with increment z.
    2744
     45Sweeps may be nested.
     46
    2847A batch of jobs is described by:
    2948{{{
     
    3655}}}
    3756
     57The names of the input and output template files may be specified;
     58otherwise the defaults '''appname_in''' and '''appname_out''' are used.
     59
    3860== Batch runtime estimation ==
    3961
    40 Estimates the makespan of a batch.
     62Estimates the completion time of a batch.
    4163Input:
    4264{{{
     
    4769</batch_estimate>
    4870}}}
     71
     72'''Priority''', if specified, is relative to other batches submitted by this user.
    4973
    5074Output:
     
    7397== Querying jobs ==
    7498
    75 <query_batch>
    76    <batch_id>N</batch_id>
    77 </query_batch>
     99The jobs in a batch are numbered starting from 0.
     100The name of a job is '''batch_ID_N'''
     101where ID is the batch ID and N is the number of the job.
    78102
    79 <batch_status>
    80    <fraction_done>X</fraction_done>
    81    <completed_jobs>N</completed_jobs>
    82    <remaining_time>X</remaining_time>
    83 </batch_status>
    84 
     103Input:
     104{{{
    85105<query_job>
     106   <authenticator>X</authenticator>
    86107   <name>X</name>
    87108</query_job>
     109}}}
    88110
     111Output:
     112{{{
    89113<job_status>
    90114   <aborted/>
    91115   or
    92    <unsent/>
    93    or
    94    <sent>
    95    <hostid>N</hostid>
    96    <userid>M</userid>
     116   <instance>
     117      <unsent/>
     118      or
     119      <hostid>N</hostid>
     120      <userid>M</userid>
     121      <runtime>X</runtime>
     122      <fraction_done>X</fraction_done>
     123   </instance>
     124   ... other instances
    97125</job_status>
     126}}}
     127
     128== Querying batches ==
     129
     130Input:
     131{{{
     132<query_batch>
     133   <authenticator>X</authenticator>
     134   <batch_id>N</batch_id>
     135</query_batch>
     136}}}
     137
     138Output:
     139{{{
     140<batch_status>
     141   <fraction_done>X</fraction_done>
     142   <jobs_completed>N</jobs_completed>
     143   <remaining_time>X</remaining_time>
     144</batch_status>
     145}}}
    98146
    99147== Aborting jobs ==
    100148
     149Input:
     150{{{
    101151<abort_batch>
     152   <authenticator>X</authenticator>
    102153   <batch_id>N</batch_id>
    103154</abort_batch>
     155}}}
     156
     157Output:
     158{{{
     159<aborted/>
     160}}}
    104161
    105162== Implementation notes =