Tjiny
2025-07-02 dfaa7178c3321fab0c7d95c28900e983aaa0a752
HH.WCS.Mobox3.RiDong/Program.cs
@@ -6,16 +6,22 @@
using System.Threading.Tasks;
using HH.WCS.Mobox3.RiDong.device;
using HH.WCS.Mobox3.RiDong.generalMethod;
using HH.WCS.Mobox3.RiDong.Quartz;
using HH.WCS.Mobox3.RiDong.util;
using Microsoft.Owin.Hosting;
using Quartz;
using Quartz.Impl;
using Topshelf;
namespace HH.WCS.Mobox3.RiDong
{
    internal class Program
    {
        static void Main(string[] args)
        static async Task Main(string[] args)
        {
            // 定时任务
            await QuartzJobCreate.CreateJob();
            Settings.Init();
            //1.0 开启api
            Startup();
@@ -35,9 +41,8 @@
                x.SetDescription("hh123");
                x.SetDisplayName("hh123.wms");
                x.SetServiceName("hh123.wms");
            });
            var exitCode = (int)Convert.ChangeType(rc, rc.GetTypeCode());
            Environment.ExitCode = exitCode;
        }
@@ -78,8 +83,9 @@
        /// <summary>
        /// 工作的线程
        /// </summary>
        public class WorkThread
        public class  WorkThread
        {
            public void Start()
            {
                List<Task> tasks = new List<Task>
@@ -97,12 +103,14 @@
                    // Directory读取文件,并处理
                    GetTask(DirectoryHelper.GainData),
                    // 出库agv任务推送
                    GetTask(ThreadMenthod.DispatchFromAGV),
                    GetTaskS(ThreadMenthod.DispatchFromAGV),
                    // 读取线体信息并做对应的处理
                    GetTask(ThreadMenthod.ReadConveyorlinesMessage),
                };
                Task.WaitAll(tasks.ToArray());
            }
            public void Stop()
            {
@@ -130,6 +138,28 @@
                return task;
            }
            private Task GetTaskS(Action action)
            {
                var task = Task.Run(() =>
                {
                    while (true)
                    {
                        try
                        {
                            action();
                        }
                        catch (Exception ex)
                        {
                            LogHelper.Error(ex.Message, ex);
                        }
                        Thread.Sleep(600000);
                    }
                });
                return task;
            }
            /// <summary>
            /// ftp上传与下载