程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 簡單的計劃任務實現。。。,計劃任務實現..

簡單的計劃任務實現。。。,計劃任務實現..

編輯:C#入門知識

簡單的計劃任務實現。。。,計劃任務實現..


之前不知道什麼是計劃任務,但是弄過定時執行。後來聽別人一陣解釋大致理解。原來就是定時執行的高大上說法。

在服務端,有時候確實很需要定時做一些事情,比如晚上十二點人少的時候清理一下log,數據的重置等等。以前就是簡單的寫一個控制台,定時執行(或者加入系統服務),當然這是粗糙的做法。然後發現C#自己的實現框架不多,也有移植java的框架。

發現自己也用不到那麼高大上的。然後就自己寫了一個簡單的。

        public static void Main (string[] args)
        {
            TCore core = new TCore();
            TTask task_1 = new TTask();
            task_1.DoTask += Start_1;
            task_1.TTime = "* * * * * n%10";
            task_1.TName = "任務_1";
            task_1.isLongTask = true;
            task_1.isRun = true;
            TTask task_2 = new TTask();
            task_2.DoTask += Start_2;
            task_2.TTime = "* * * * * n%15";
            task_2.TName = "任務_2";
            task_2.isRun = true;
            TTask task_3 = new TTask();
            task_3.DoTask += Start_3;
            task_3.TTime = "* * * * * n%20";
            task_3.TName = "任務_3";
            task_3.isRun = true;
            core.JoinTask(task_1);
            core.JoinTask(task_2);
            core.JoinTask(task_3);
            core.Run();
        }

我是根據每個的時間公式判斷的,感覺很不錯。

時間規則如下:

年 月 日 時 分 秒

中間以空格分割,可以用n代表當前的時間數,然後做公式運行,最後結果為0就代表符合條件,單個*代表所有匹配。

然後區分短任務和長任務,短任務用Task類承載運行,長任務用Thread承載運行。

可以改成配置的方式,然後把任務放在dll裡面,更新就更新dll。

代碼下載地址:http://files.cnblogs.com/files/RainbowInTheSky/Twork.zip

windows運行:

ubuntu14.04運行:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved