start method
Start processing jobs
Implementation
Future<void> start({String? queue}) async {
if (_isRunning) return;
_isRunning = true;
final workingQueue = queue ?? 'default';
_jobController = StreamController<Job>.broadcast();
_worker.start();
// Process jobs in a loop
while (_isRunning) {
final job = await _queue.pop(workingQueue);
if (job != null) {
_jobController?.add(job);
await _worker.process(job);
} else {
// No jobs, wait a bit
await Future.delayed(const Duration(seconds: 1));
}
}
}