Author: jacopoc
Date: Wed Apr 4 23:20:48 2007
New Revision: 525721
URL:
http://svn.apache.org/viewvc?view=rev&rev=525721Log:
If an async service fails, the status of its JobSandbox record is set to 'failed' even if the service will not be rescheduled.
Modified:
ofbiz/trunk/framework/service/src/org/ofbiz/service/job/PersistedServiceJob.java
Modified: ofbiz/trunk/framework/service/src/org/ofbiz/service/job/PersistedServiceJob.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/service/src/org/ofbiz/service/job/PersistedServiceJob.java?view=diff&rev=525721&r1=525720&r2=525721==============================================================================
--- ofbiz/trunk/framework/service/src/org/ofbiz/service/job/PersistedServiceJob.java (original)
+++ ofbiz/trunk/framework/service/src/org/ofbiz/service/job/PersistedServiceJob.java Wed Apr 4 23:20:48 2007
@@ -185,6 +185,7 @@
protected void failed(Throwable t) throws InvalidJobException {
super.failed(t);
+ GenericValue job = getJob();
// if the job has not been re-scheduled; we need to re-schedule and run again
if (nextRecurrence == -1) {
if (this.canRetry()) {
@@ -193,24 +194,23 @@
cal.setTime(new Date());
cal.add(Calendar.MINUTE, ServiceConfigUtil.getFailedRetryMin());
long next = cal.getTimeInMillis();
- GenericValue job = getJob();
try {
createRecurrence(job, next);
} catch (GenericEntityException gee) {
Debug.logError(gee, "ERROR: Unable to re-schedule job [" + getJobId() + "] to re-run : " + job, module);
}
-
- // set the failed status
- job.set("statusId", "SERVICE_FAILED");
- try {
- job.store();
- } catch (GenericEntityException e) {
- Debug.logError(e, "Cannot update the job sandbox", module);
- }
Debug.log("Persisted Job [" + getJobId() + "] Failed Re-Scheduling : " + next, module);
} else {
Debug.logWarning("Persisted Job [" + getJobId() + "] Failed - Max Retry Hit; not re-scheduling", module);
}
+ }
+ // set the failed status
+ job.set("statusId", "SERVICE_FAILED");
+ job.set("finishDateTime", UtilDateTime.nowTimestamp());
+ try {
+ job.store();
+ } catch (GenericEntityException e) {
+ Debug.logError(e, "Cannot update the job sandbox", module);
}
}