Exemplo n.º 1
0
 public mainClass(clsMainLoop cml)
 {
     this.cml = cml;
     ce       = new callExe();
     //calls = new Dictionary<string, clsCallBase>();
     killInprogressCalls();
 }
Exemplo n.º 2
0
        /// <summary>
        /// 將main loop執行起來。若前有main loop則終結
        /// </summary>
        /// <returns></returns>
        public string runNewMainLoop()
        {
            string      ret    = "";
            string      callId = callExe.genCallId();
            clsMainLoop cmli   = new clsMainLoop(callId);

            cmli.serviceName  = "initialize";
            cmli.callTypeName = "object";
            cmli.callPara     = null;
            string json = jsonUtl.encodeJson(cmli);

            ret = ce.MakeAcall(callId, json);
            if (ret.Length > 0)
            {
                return(ret);
            }
            ret = ce.spawnEXE(callId, cmli.serviceName);

            //change to use hangire... sample
            //BackgroundJob.Enqueue(() => Console.WriteLine("home action3!"));

            // 來,我們按照hangfire改作法
            //1. 所有呼叫改為,可各自設定為同步呼叫或常駐呼叫
            //2. 同步呼叫就是原本傳統寫法,常駐呼叫就是叫一隻console起來跑
            //3. 所以就取消main loop的作法
            //4. console要顯示畫面,然後用console.write...顯示狀態,這樣
            //   就可以看得到console是否已經執行完成,或掛掉
            //5. 另外提供一個清除所有呼叫紀錄的按鍵。
            //6. 已經完成的呼叫,寫一筆紀錄到完成的目錄,且將呼叫紀錄刪除
            return(ret);
        }