Batch Files
The batch files can contain not only the instructions, but can also contain files. In fact, to send a job whose program or input files are not already on the target machines, you MUST include all relevant files as hex in the batch file. The easiest way to do this is to submit a dummy job that uses all the relevant files and options, then get the specification from that job, and use it as a template. In short, the specification file for a custom job is significantly different than the specification for a usr/bin/cal job.
Below is an example of one of my batch files. I got this file by typing:
xg -job submit 1tuscan-count-8X 0 2
xg -job specification -id xx -> batch.plist
and then modified the taskSpecifications line.
{
jobSpecification = {
applicationIdentifier = "com.apple.xgrid.cli";
inputFiles = {
"1tuscan-count-8X" = {
fileData = <cefaedfe 07000000 ... lots of stuff ... 5f74696d 65000000 >;
isExecutable = YES;
};
};
name = "1tuscan-count-8X";
submissionIdentifier = abc;
taskSpecifications = {0 = {arguments = (0, 2); command = "1tuscan-count-8X"; };
1 = {arguments = (0, 3); command = "1tuscan-count-8X"; };
2 = {arguments = (0, 4); command = "1tuscan-count-8X"; };
3 = {arguments = (0, 5); command = "1tuscan-count-8X"; };
4 = {arguments = (0, 6); command = "1tuscan-count-8X"; };
5 = {arguments = (0, 7); command = "1tuscan-count-8X"; };
6 = {arguments = (3, 0); command = "1tuscan-count-8X"; };
7 = {arguments = (3, 2); command = "1tuscan-count-8X"; };
8 = {arguments = (3, 5); command = "1tuscan-count-8X"; };
9 = {arguments = (3, 6); command = "1tuscan-count-8X"; };
10 = {arguments = (3, 7); command = "1tuscan-count-8X"; };
11 = {arguments = (4, 0); command = "1tuscan-count-8X"; };
12 = {arguments = (4, 2); command = "1tuscan-count-8X"; };
13 = {arguments = (4, 3); command = "1tuscan-count-8X"; };
14 = {arguments = (4, 6); command = "1tuscan-count-8X"; };
15 = {arguments = (4, 7); command = "1tuscan-count-8X"; };
16 = {arguments = (5, 0); command = "1tuscan-count-8X"; };
17 = {arguments = (5, 2); command = "1tuscan-count-8X"; };
18 = {arguments = (5, 3); command = "1tuscan-count-8X"; };
19 = {arguments = (5, 4); command = "1tuscan-count-8X"; };
20 = {arguments = (5, 7); command = "1tuscan-count-8X"; };
21 = {arguments = (6, 0); command = "1tuscan-count-8X"; };
22 = {arguments = (6, 2); command = "1tuscan-count-8X"; };
23 = {arguments = (6, 3); command = "1tuscan-count-8X"; };
24 = {arguments = (6, 4); command = "1tuscan-count-8X"; };
25 = {arguments = (6, 5); command = "1tuscan-count-8X"; };
26 = {arguments = (7, 0); command = "1tuscan-count-8X"; };
27 = {arguments = (7, 2); command = "1tuscan-count-8X"; };
28 = {arguments = (7, 3); command = "1tuscan-count-8X"; };
29 = {arguments = (7, 4); command = "1tuscan-count-8X"; };
30 = {arguments = (7, 5); command = "1tuscan-count-8X"; };
31 = {arguments = (7, 6); command = "1tuscan-count-8X"; };
};
};
}