C 開發作業排程軟體講解

2021-06-04 23:42:35 字數 3336 閱讀 3969

一、效果圖

作業啟動狀態

作業停止狀態

二、quartz

排程的核心庫用的是 quartz.net。官方**:這裡有更多的中文介紹。

先建立乙個類庫,新建乙個taskjob類用來執行任務。

using

system;

using

system.collections.generic;

using

system.text;

using

quartz;

namespace

myjob}}

正如你所見,乙個繼承了ijob的taskjob,將要執行的任務統統放在execute中即可!

三、作業排程

建立乙個winform專案,並新增對quartz.dll和類庫的引用。

jobconfig.xml

新建乙個jobconfig.xml檔案,指定taskjob並配置job的觸發時間。

可以指定具體的執行時間,如0 50 9 ? * * 表示每天9點50點觸發。

也可以指定為一段時間內重複多少次,如 0 0/1 8-20 ? * mon-fri 表示周一到周五每天的8點到20點,每一分鐘觸發一次。

xml version="1.0" encoding="utf-8"

?>

<

quartz

xmlns

=""xmlns:xsi

=""version

="1.0"

overwrite-existing-jobs

="true"

>

<

job>

<

job-detail

>

<

name

>

myjob

name

>

<

group

>

myjob

group

>

<

job-type

>

myjob.taskjob, myjob

job-type

>

job-detail

>

<

trigger

>

<

cron

>

<

name

>

cronmyjob

name

>

<

group

>

cronmyjob

group

>

<

job-name

>

myjob

job-name

>

<

job-group

>

myjob

job-group

>

<

cron-expression

>

0 50 9 ? * *

cron-expression

>

cron

>

trigger

>

job>

quartz

>

handlemask

建立乙個類,用來控制job的開啟和停止。

using

system;

using

system.collections.generic;

using

system.text;

using

system.io;

using

system.collections;

using

quartz;

using

quartz.impl;

using

quartz.xml;

namespace

public

class

handlemask

public

void

stop()}}

} start的時候會根據jobconfig.xml中的配置排程taskjob中的execute。

控制器

控制器的主要功能是啟動和停止對作業的排程。

初始化

在下面的建構函式中用到了 mutex 。可見參考使用 mutex實現會話狀態下單例項執行和系統範圍內單例項執行 。

同時,在窗體初始化時,就啟動了作業。

batch

=new

handlemask();

batch.start();

handlemask batch;

bool

closetag

=true

;public

form1()

catch

(exception ex)

if(newmutexcreated)

else

}catch

(exception ex)}

作業啟動事件

private

void

tscbstart_click(

object

sender, eventargs e)

作業停止事件

private

void

tscbstop_click(

object

sender, eventargs e)

退出事件

private

void

tscbexit_click(

object

sender, eventargs e)

}private

void

minimizedtonormal()

private

void

normaltominimized()

private

void

notifyicon1_mouseclick(

object

sender, mouseeventargs e)

}private

void

form1_formclosing(

object

sender, formclosingeventargs e)}

原始碼。青羽tenghoo.cnblogs.com

www.apihi.com

學習筆記 06 Python爬蟲開發 作業

立即學習 肯德基位址爬取 根據查詢時的狀態,如果url發生變化,則不是阿賈克斯強求,如果沒有發生變化,則是 import requests import json if name main for i in range 1,6 number i url keyword header r reques...

現代程式設計 網頁前端開發作業(to 鄒欣老師)

在一些著名的 的搜尋框上,會有一種 自動完成 功能。現在,我們來考慮如何實現這個功能。在這一步,不要估計開發時間。把學習新技術 一些前端基礎知識 的時間花在這個階段。以完成原型為目標,不必深入技術。去 獲得入門知識 去 查閱文件 請僅僅從功能角度分析這三個元件。提示,如果你試圖從 中找到答案,你很可...

基於c 的作業排程演算法模擬

程式實現了作業排程演算法中的fcfs演算法和sjf演算法.fcfs演算法 優先考慮系統中等待時間長的作業 而不管該作業所需執行時間長短.說的通俗點 哪個作業先提交 哪個作業先進記憶體.這是對作業排程而言 同樣 fcfs演算法也可以用於程序排程 此時 誰先進記憶體的誰先上cpu.那麼這樣一來就會出現這...