Bug #2123
openupload refinement
0%
You can work around this issue right away by either commenting out one line in the code in myamiweb/processing/checkRefineJobs.php line #65:
<pre>
// check if job has an associated jobfile
$jobfile = $job['appath'].'/'.$job['name'];
if (!file_exists($jobfile)) {
echo divisionHeader($jobinfo);
echo "<i>missing job file: $jobfile</i><br/><br/>\n";
//continue; <-- This line should be commented out!
}
</pre>
or you can create a dummy job file in the local rundir, or you can copy the real job file from the remote directory.
After that , you should have the option to "Force status to done".
Description
At FSU we don't launch appion jobs from the myamiweb. Instead we always "Just Show Command", and cut and paste. Launching a reconstruction job used to require logging in, but thanks to Amber now we can now setup and launch jobs from the command line. The problem is that now there is no way to notify appion that the job is complete so that it will generate the upload command. Is there something that isn't set up correctly?
Updated by Amber Herold about 12 years ago
- Status changed from New to Assigned
- Assignee set to Amber Herold
I thought that you could use the button "Force job to Done" or something like that. I'll take a look when I get in tomorrow to check the expected flow.
Updated by Amber Herold about 12 years ago
- Workaround updated (diff)
Scott,
I looked into this. There is an issue if the refinement is being run remotely that the job file is not found in the local run directory upon completion. This file is not really needed for the upload, but there is a check in checkRefineJobs.php to make sure the job file is there to avoid listing jobs that were never run.
You can work around this issue right away by either commenting out one line in the code in myamiweb/processing/checkRefineJobs.php line #65:
// check if job has an associated jobfile $jobfile = $job['appath'].'/'.$job['name']; if (!file_exists($jobfile)) { echo divisionHeader($jobinfo); echo "<i>missing job file: $jobfile</i><br/><br/>\n"; //continue; <-- This line should be commented out! }
or you can create a dummy job file in the local rundir, or you can copy the real job file from the remote directory.
After that , you should have the option to "Force status to done".
I'll work on a permanant fix for this as well.
Updated by Scott Stagg about 12 years ago
It's still not working for me. The Appion page still says 5 jobs ready to run. I commented the "continue" line out, and copied the job file to the local directory, and nothing changed.
Updated by Amber Herold about 12 years ago
Ah. OK, so when you run the command on the processing host, it sounds like that host does not have access to the database. Correct?
Updated by Scott Stagg about 12 years ago
It actually does have access to the database. Perhaps the problem is that runJob.py doesn't complete. When I run runJob.py, it exceptions out before it completes; it gets as far as making the job, but then it can't find my queue for some reason. I have been ignoring that because I end up having to modify the job anyway. It's a long story, but suffice it to say that at FSU the job header needs to not have the "ppn" and only needs "walltime" and should not have "cputime". When I was setting up the class for MoabTorque, it looked like those header items were mandatory. Just now, I made a class called FSUHost in TorqueHost.py where I skip over all header items that I don't need, and I was able to use runJob.py to completion. The button where I can mark a job as completed now shows up for me. I'll let you know if I run into any other problems.
Updated by Amber Herold over 10 years ago
- Status changed from Assigned to New
- Assignee deleted (
Amber Herold) - Affected Version changed from Appion/Leginon 2.1.0 to Appion/Leginon 2.2.0