run method
Implementation
Future run(List<String> arguments) async {
args.parse(arguments);
await config.load(args.configPath);
if (args.runSingleJob != null) {
if (allJobs.allClassNames.contains(args.runSingleJob)) {
await runJob(args.runSingleJob!);
print('DONE');
} else {
print("unknown job ${args.runSingleJob}");
print("available jobs ${allJobs.allClassNames}");
}
} else {
print("starting daemon...");
if (allQueueProcessors.allClassNames.isNotEmpty) {
await processQueuesIsolate();
//TODO separate isolates per queue?
/*await Isolate.spawn(
processQueuesIsolate,
new DaemonIsolateArgs(receivePort.sendPort, this.config),
);*/
} else {
print('no queues');
}
if (allJobs.allClassNames.isNotEmpty) {
processJobsIsolate();
} else {
print('no jobs');
}
}
}