At 7/29/03 1:16 AM, Kern Sibbald wrote:
>Please take a look at:
Ah! The light dawns.
What wasn't previously clear to me is that all four of the bullet points
are discussing the case where multiple concurrent jobs are allowed.
I thought that only the first and second points were talking about
concurrent jobs, and the other two were talking about the normal "Maximum
Concurrent Jobs = 1" case. In the "Maximum Concurrent Jobs = 1" context,
point 3 is self-evident, and point 4 doesn't make sense, which was the
source of my confusion.
Perhaps you can make it clear in the documentation that all of the bullet
points are talking about the "Maximum Concurrent Jobs = 2" (or more) case.
For what it's worth, here's a possible rewrite of that section that would
make it more clear to me, because it distinguishes between the different
Maximum Concurrent Jobs situations:
Priority = <number>
This record permits you to control the order in which your jobs run, by
specifying a positive non-zero number. The higher the number, the lower
the job priority. Assuming you are not running concurrent jobs, all
queued jobs of priority 1 will run before queued jobs of priority 2 and
so on, regardless of the original scheduling order.
The priority only affects waiting jobs that are queued to run, not jobs
that are already running. If one or more jobs of priority 2 are already
running, and a new job is scheduled with priority 1, the currently
running priority 2 jobs must complete before the priority 1 job is run.
The default priority is 10.
If you want to run concurrent jobs, which is not recommended, you should
keep these points in mind:
- To run concurrent jobs, you must set Maximum Concurrent Jobs = 2 in 5
or 6 distinct places: in bacula-dir.conf in the Director, the Job, the
Client, the Storage resources; in bacula-fd in the FileDaemon (or Client)
resource, and in bacula-sd.conf in the Storage resource. If any
one is missing, it will throttle the jobs to one at a time.
- Bacula concurrently runs jobs of only one priority at a time. For
example, it will not simultaneously run a priority 1 and a priority 2
job. If Bacula is running a priority 2 job and a new priority 1 job is
scheduled, the new job will wait until the priority 2 job terminates,
even if the Maximum Concurrent Jobs settings would otherwise allow two
jobs to run simultaneously.
- If Bacula is running a priority 2 job and a new priority 1 job is
scheduled, followed by a new priority 2 job, the queued priority 1 job
will prevent the new priority 2 job from running concurrently with the
existing priority 2 job. That is: as long as there is a high priority job
waiting to run, no new lower priority jobs will start, even if
the Maximum Concurrent Jobs settings would normally allow the currently
running low priority job and the queued low priority job to run
A little wordy, maybe, but perhaps that would help....
Thanks for the great work. I recently switched from Arkeia to Bacula, and
Bacula is far more efficient (and understandable).
Robert Mathews, Tiger Technologies
"Clever things make people feel stupid, and unexpected things make
them feel scared."