ScheduleEngine.cs 992 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using System;
  2. using System.Threading.Tasks;
  3. using Comal.TaskScheduler.Shared;
  4. using InABox.IPC;
  5. using InABox.Clients;
  6. using InABox.Core;
  7. using InABox.Rpc;
  8. using PRSServices;
  9. namespace PRSServer;
  10. internal class ScheduleEngine : Engine<ScheduleServerProperties>
  11. {
  12. private readonly Scheduler scheduler = new();
  13. public override void Run()
  14. {
  15. try
  16. {
  17. if (string.IsNullOrWhiteSpace(Properties.Server))
  18. {
  19. Logger.Send(LogType.Error, "", "Server is blank!");
  20. return;
  21. }
  22. InitialiseConnection(Properties.Server, Platform.SchedulerEngine);
  23. Logger.Send(LogType.Information, "", "Starting Scheduler: ");
  24. scheduler.Start();
  25. }
  26. catch (Exception ex)
  27. {
  28. Logger.Send(LogType.Error, "", "Error: " + ex.Message + "\n" + ex.StackTrace);
  29. throw;
  30. }
  31. }
  32. public override void Stop()
  33. {
  34. scheduler.Stop();
  35. }
  36. }