public mainClass(clsMainLoop cml) { this.cml = cml; ce = new callExe(); //calls = new Dictionary<string, clsCallBase>(); killInprogressCalls(); }
/// <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); }