Multi-user background workers V81

- Campaign workers use a per-user MySQL named lock.
- Subscriber/comment workers use a per-user MySQL named lock and receive user_id explicitly.
- Scheduler starts one worker per active user, so one user's backlog does not block another user's jobs.
- A single user's duplicate workers are serialized safely.
- Browser requests only enqueue/wake that user's worker; processing remains in background.
- Existing jobs remain isolated by user_id.
- Keep the scheduler Cron running every minute.
