Program.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. using Quartz;
  2. using Quartz.Impl;
  3. using RDIFramework.Utilities;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Configuration;
  7. using System.Data;
  8. using System.IO;
  9. using System.Linq;
  10. using System.Text;
  11. using Topshelf;
  12. namespace TimedUpload
  13. {
  14. class Program
  15. {
  16. static void Main(string[] args)
  17. {
  18. log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "log4net.config"));
  19. try
  20. {
  21. HostFactory.Run(x =>
  22. {
  23. x.UseLog4Net();
  24. x.Service<ServiceRunner>();
  25. x.SetDescription("wwkj-DABusinessData");
  26. x.SetDisplayName("wwkj-DABusinessData");
  27. x.SetServiceName("wwkj-DABusinessData");
  28. x.EnablePauseAndContinue();
  29. });
  30. //SystemConfig.dbConnectionStr = ConfigurationManager.AppSettings["dbConnection"];
  31. //DataUploadService uploadService = new DataUploadService();
  32. ////uploadService.AddJobTrigger(job, trigger);
  33. //uploadService.Start();
  34. }
  35. catch (Exception ex)
  36. {
  37. Console.Write(ex.Message);
  38. }
  39. }
  40. }
  41. public class DataUploadService
  42. {
  43. private readonly IScheduler scheduler;
  44. public DataUploadService()
  45. {
  46. scheduler = StdSchedulerFactory.GetDefaultScheduler();
  47. }
  48. public bool Start()
  49. {
  50. scheduler.Start();
  51. return true;
  52. }
  53. public bool Stop()
  54. {
  55. scheduler.Shutdown(false);
  56. return true;
  57. }
  58. public bool Continue()
  59. {
  60. scheduler.ResumeAll();
  61. return true;
  62. }
  63. public bool Pause()
  64. {
  65. scheduler.PauseAll();
  66. return true;
  67. }
  68. public bool AddJobTrigger(IJobDetail jobDetail, ITrigger trigger)
  69. {
  70. if (scheduler != null)
  71. {
  72. scheduler.ScheduleJob(jobDetail, trigger);
  73. }
  74. return true;
  75. }
  76. }
  77. }