"Cert" => "$mo/cert.pem",
"CACert" => "$mo/ca-cert.pem",
"Trace" => defined $ENV{"MO_SUBMIT_TRACE"},
- "Checks" => 1,
- "AllowOverride" => 1,
-# "History" => "$home/.history", # Keep submission history in this directory
+ "Checks" => 1, # Run `check' before submitting
+ "AllowOverride" => 1, # Allow overriding a failed check
+ "History" => "$home/.history", # Keep submission history in this directory
"RefreshTimer" => 60000, # How often GUI sends STATUS commands [ms]
"root" => $root,
"user" => $user,
return $self->reply;
}
-sub local_submit($$$$$) {
+sub write_history($$$$$) {
my ($self, $task, $part, $ext, $filename) = @_;
my $hist = $self->{"History"};
-d $hist or mkdir $hist or return "Unable to create $hist: $!";
- ### FIXME: Unfinished
+ my $now = POSIX::strftime("%H:%M:%S", localtime(time));
+ my $maybe_part = ($part eq $task) ? "" : ":$part";
+ my $name = "$hist/$now-$task$maybe_part.$ext";
+ $self->log("Backing up to $name");
+ `cp "$filename" "$name"`;
+ return "Unable to back up $filename as $name" if $?;
+ return undef;
}
1;
my $size = $s->size;
my $conn = new MO::Submit;
+
+my $he = $conn->write_history($task, $part, $ext, $file);
+if (defined $he) { die "$he\n"; }
+
$conn->connect or die $conn->{"error"} . "\n";
sub or_die($) {