With the current MySQL-based lock-implementation, mailerJobsMax cannot be
enforced because the job locks (```data.mailing.job.*```) trample the worker
locks (```worker.mailing.*```).
The relevant tests are hacked (```lockHold```) so that they pass and loosely
approximate what *would* happen if the lock implementation were less
bonkers.
array(
'recipients' => 20,
'workers' => 3,
+ // FIXME: lockHold is unrealistic/unrepresentative. In reality, this situation fails because
+ // the data.* locks trample the worker.* locks. However, setting lockHold allows us to
+ // approximate the behavior of what would happen *if* the lock-implementation didn't suffer
+ // trampling effects.
'lockHold' => 10,
'mailerBatchLimit' => 4,
'mailerJobsMax' => 1,
array(// Settings.
'recipients' => 20,
'workers' => 3,
+ // FIXME: lockHold is unrealistic/unrepresentative. In reality, this situation fails because
+ // the data.* locks trample the worker.* locks. However, setting lockHold allows us to
+ // approximate the behavior of what would happen *if* the lock-implementation didn't suffer
+ // trampling effects.
'lockHold' => 10,
'mailerBatchLimit' => 5,
'mailerJobsMax' => 2,
array(// Settings.
'recipients' => 20,
'workers' => 3,
- 'lockHold' => 10,
'mailerBatchLimit' => 6,
'mailerJobsMax' => 3,
),
array(// Settings.
'recipients' => 20,
'workers' => 4,
- 'lockHold' => 4,
'mailerBatchLimit' => 6,
'mailerJobsMax' => 0,
),