Changes between Version 10 and Version 11 of RemoteJobs


Ignore:
Timestamp:
Jul 24, 2011, 9:51:19 AM (13 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RemoteJobs

    v10 v11  
    44This document describes APIs for remotely submitting jobs
    55to a BOINC server.
    6 These APIs can be used, for example, to create web interfaces for job submission,
     6The APIs support the submission of large '''batches''' of jobs,
     7such as parameter sweeps.
     8The APIs can be used, for example, to create web interfaces for job submission,
    79such as might be found in a science portal web site:
    810
     
    1315and it is easy to create bindings in other languages.
    1416
    15 The APIs are designed for the submission of large '''batches''' of jobs,
    16 such as parameter sweeps.
    17 
    18 Users can submit jobs only if they have been given access
    19 (via a web interface) by project administrators.
    20 In addition, admins can restrict the apps for which
     17This system is coupled with new
     18[MultiUser multi-user project features].
     19In particuler, users can submit jobs only if they have been given access
     20(via a web interface) by project administrators,
     21and admins can restrict the apps for which
    2122each user is allowed to submit jobs.
    22 The BOINC admin web pages provide an interface for this access control.
    2323
    2424== PHP interface ==
     
    3636
    3737Return value: a 2-element array containing
    38  * The estimate (in seconds)
     38 * The estimate, in seconds
    3939 * An error message (null if success)
    4040
    41 Example:
     41Example usage:
    4242{{{
    4343$req->project = "http://foo.bar.edu/test/";
     
    5757
    5858list($e, $errmsg) = boinc_estimate_batch($req);
     59if ($errmsg) {
     60        echo "Error: $errmsg\n";
     61} else {
     62        echo "The batch will take about $e seconds to complete\n";
     63}
    5964}}}
    6065
     
    6267
    6368Similar to '''boinc_estimate_batch()''', but submits the batch.
    64 The return value is a 2-element array containing
     69
     70Result: a 2-element array containing
    6571 * The batch ID
    6672 * An error message (null if success)
     
    6874=== boinc_query_batches() ===
    6975
    70 Argument: a request objects with '''project''' and '''authenticator''' fields as above.
    71 
    72 Result: a 2-element array.  The first element is an array of objects describing batches,
     76Returns a list of this user's batches, both in progress and complete.
     77
     78Argument: a request object with elements
     79 * '''project''' and '''authenticator''': as above.
     80
     81Result: a 2-element array.
     82The first element is an array of objects describing batches,
    7383with the following fields:
    74  * '''id''': batch ID
     84 * '''batch_id''': batch ID
    7585 * '''fraction_done''': a number 0..1 giving the fraction of the batch that has been completed
    7686 * '''create_time''': when the batch was submitted
     
    8090=== boinc_query_batch() ===
    8191
    82 Argument: a request objects with '''project''' and '''authenticator''' fields as above,
    83 and a '''batch_id''' element specifying a batch.
    84 
    85 Result: a 2-element array.  The first element is an array of objects describing jobs
     92Gets batch details.
     93
     94Argument: a request object with elements
     95 * '''project''' and '''authenticator''': as above
     96 * '''batch_id''': specifies a batch.
     97
     98Result: a 2-element array.
     99The first element is an array of objects describing jobs
    86100within the batch, with the following fields:
    87101
    88  * '''id''': the job ID
    89  * '''canonical_result_id''': if the job has been completed and validated, the ID of a valid instance
     102 * '''job_id''': the job ID
     103 * '''canonical_instance_id''':
     104  if the job has been completed and validated, the ID of a valid instance
    90105 * '''n_outfiles''': the number of output files
    91106
     107=== boinc_query_job() ===
     108
     109Gets job details.
     110
     111Argument: a request object with elements:
     112 * '''project''' and '''authenticator''': as above
     113 * '''job_id''': specifies a job.
     114
     115Result: a 2-element array.
     116The first element is an object with the following fields:
     117 * '''instances''': an array of job instance descriptors
     118
     119Each job instances descriptor is an object with the following fields:
     120 * '''instance_name''': the instance's name
     121 * '''instance_id''': the ID of the corresponding result record
     122
    92123=== boinc_abort_batch() ===
    93124
    94 Argument: a request objects with '''project''' and '''authenticator''' fields as above,
    95 and a '''batch_id''' element specifying a batch.
     125Argument: a request object with elements
     126 * '''project''' and '''authenticator''': as above,
     127 * '''batch_id''': specifies a batch.
    96128
    97129Result: an error message, null if successful
     
    99131=== boinc_get_output_file() ===
    100132
    101 Argument: a request objects with '''project''' and '''authenticator''' fields as above,
    102 a '''job_id''' element specifying a job, and a '''file_num''' field giving the
    103 ordinal number of one of the output files.
    104 
    105 Result: A URL from which the output file can be downloaded.
     133Get a URL for a particular output file.
     134
     135Argument: a request object with elements
     136 * '''project''' and '''authenticator''': as above,
     137 * '''instance_name''': specifies a job instance,
     138 * '''file_num''': the ordinal number of one of the output files.
     139
     140Result: a 2-element array;
     141the first element is a URL from which the output file can be downloaded.
    106142
    107143=== boinc_get_output_files() ===
    108144
    109 Argument: a request objects with '''project''' and '''authenticator''' fields as above,
    110 and a '''batch_id''' element specifying a batch.
    111 
    112 Result: A URL from which a zipped archive of all output files from the batch can be downloaded.
     145Argument: a request object with elements
     146 * '''project''' and '''authenticator''': as above,
     147 * '''batch_id''': specifies a batch.
     148
     149Result: a 2-element array;
     150the first element is
     151a URL from which a zipped archive of all
     152output files from the batch can be downloaded
     153(only the outputs of "canonical" instances are included).
     154
     155=== boinc_cleanup_batch() ===
     156
     157Delete server storage (files, DB records) associated with a batch.
     158
     159Argument: a request object with elements
     160 * '''project''' and '''authenticator''': as above,
     161 * '''batch_id''': specifies a batch.
     162
     163Result: an error message, null if successful
    113164
    114165== HTTPS/XML interface ==
     
    239290  app_id
    240291}}}
     292