- if (strncasecmp(ua->cmd, _("yes"), strlen(ua->cmd)) == 0) {
- Dmsg1(200, "Calling run_job job=%x\n", jcr->job);
- run_job(jcr);
- free_jcr(jcr); /* release jcr */
- bsendmsg(ua, _("Run command submitted.\n"));
- return 1;
+ if (ua->cmd[0] == 0 || strncasecmp(ua->cmd, _("yes"), strlen(ua->cmd)) == 0) {
+ JobId_t JobId;
+ Dmsg1(800, "Calling run_job job=%x\n", jcr->job);
+start_job:
+ JobId = run_job(jcr);
+#if 0
+ bsendmsg(ua, "<job director=\"console\" time=\"%u\" status=\"%c\" type=\"%c\" "
+ "jobid=\"%u\" job=\"%s\" level=\"%c\" finished=\"false\" priority=\"%u\"/>\n",
+ time(NULL), jcr->JobStatus, jcr->JobType, jcr->JobId,
+ jcr->Job, jcr->JobLevel, jcr->JobPriority);
+#endif
+ free_jcr(jcr); /* release jcr */
+ if (JobId == 0) {
+ bsendmsg(ua, _("Job failed.\n"));
+ } else {
+ char ed1[50];
+ bsendmsg(ua, _("Job started. JobId=%s\n"), edit_int64(JobId,ed1));
+ }
+ return JobId;