run method

Future run(
  1. List<String> arguments
)

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');
    }
  }
}