1 | #include <stdio.h>
|
---|
2 | #include <drmaa.h>
|
---|
3 |
|
---|
4 | int main(int argc, char **argv) {
|
---|
5 | char error[DRMAA_ERROR_STRING_BUFFER];
|
---|
6 | int errnum = 0;
|
---|
7 | drmaa_job_template_t *jt = NULL;
|
---|
8 |
|
---|
9 | errnum = drmaa_init(NULL, error, DRMAA_ERROR_STRING_BUFFER);
|
---|
10 |
|
---|
11 | if (errnum != DRMAA_ERRNO_SUCCESS) {
|
---|
12 | fprintf(stderr, "Could not initialize the DRMAA library: %s\n", error);
|
---|
13 | return 1;
|
---|
14 | }
|
---|
15 |
|
---|
16 | errnum = drmaa_allocate_job_template(&jt, error, DRMAA_ERROR_STRING_BUFFER);
|
---|
17 |
|
---|
18 | if (errnum != DRMAA_ERRNO_SUCCESS) {
|
---|
19 | fprintf(stderr, "Could not create job template: %s\n", error);
|
---|
20 | } else {
|
---|
21 | errnum = drmaa_set_attribute(jt, DRMAA_REMOTE_COMMAND, "/bin/sleep", error, DRMAA_ERROR_STRING_BUFFER);
|
---|
22 |
|
---|
23 | if (errnum != DRMAA_ERRNO_SUCCESS) {
|
---|
24 | fprintf(stderr, "Could not set attribute \"%s\": %s\n", DRMAA_REMOTE_COMMAND, error);
|
---|
25 | } else {
|
---|
26 | const char *args[2] = {"5", NULL};
|
---|
27 |
|
---|
28 | errnum = drmaa_set_vector_attribute(jt, DRMAA_V_ARGV, args, error, DRMAA_ERROR_STRING_BUFFER);
|
---|
29 | }
|
---|
30 |
|
---|
31 | if (errnum != DRMAA_ERRNO_SUCCESS) {
|
---|
32 | fprintf(stderr, "Could not set attribute \"%s\": %s\n", DRMAA_REMOTE_COMMAND, error);
|
---|
33 | } else {
|
---|
34 | char jobid[DRMAA_JOBNAME_BUFFER];
|
---|
35 |
|
---|
36 | errnum = drmaa_run_job(jobid, DRMAA_JOBNAME_BUFFER, jt, error, DRMAA_ERROR_STRING_BUFFER);
|
---|
37 |
|
---|
38 | if (errnum != DRMAA_ERRNO_SUCCESS) {
|
---|
39 | fprintf(stderr, "Could not submit job: %s\n", error);
|
---|
40 | }
|
---|
41 | else {
|
---|
42 | printf("Your job has been submitted with id %s\n", jobid);
|
---|
43 | }
|
---|
44 | } /* else */
|
---|
45 |
|
---|
46 | errnum = drmaa_delete_job_template(jt, error, DRMAA_ERROR_STRING_BUFFER);
|
---|
47 |
|
---|
48 | if (errnum != DRMAA_ERRNO_SUCCESS) {
|
---|
49 | fprintf(stderr, "Could not delete job template: %s\n", error);
|
---|
50 | }
|
---|
51 | } /* else */
|
---|
52 |
|
---|
53 | errnum = drmaa_exit(error, DRMAA_ERROR_STRING_BUFFER);
|
---|
54 |
|
---|
55 | if (errnum != DRMAA_ERRNO_SUCCESS) {
|
---|
56 | fprintf(stderr, "Could not shut down the DRMAA library: %s\n", error);
|
---|
57 | return 1;
|
---|
58 | }
|
---|
59 |
|
---|
60 | return 0;
|
---|
61 | }
|
---|