MES開(kāi)發(fā)與應(yīng)用 課件 3.12 工業(yè)管理軟件開(kāi)發(fā)基礎(chǔ)-調(diào)度功能的使用與開(kāi)發(fā)_第1頁(yè)
MES開(kāi)發(fā)與應(yīng)用 課件 3.12 工業(yè)管理軟件開(kāi)發(fā)基礎(chǔ)-調(diào)度功能的使用與開(kāi)發(fā)_第2頁(yè)
MES開(kāi)發(fā)與應(yīng)用 課件 3.12 工業(yè)管理軟件開(kāi)發(fā)基礎(chǔ)-調(diào)度功能的使用與開(kāi)發(fā)_第3頁(yè)
MES開(kāi)發(fā)與應(yīng)用 課件 3.12 工業(yè)管理軟件開(kāi)發(fā)基礎(chǔ)-調(diào)度功能的使用與開(kāi)發(fā)_第4頁(yè)
MES開(kāi)發(fā)與應(yīng)用 課件 3.12 工業(yè)管理軟件開(kāi)發(fā)基礎(chǔ)-調(diào)度功能的使用與開(kāi)發(fā)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

3.12調(diào)度功能的使用與開(kāi)發(fā)深圳市信息職業(yè)技術(shù)學(xué)院目

錄調(diào)度功能介紹01調(diào)度界面配置說(shuō)明02調(diào)度功能開(kāi)發(fā)示例03常見(jiàn)異常問(wèn)題列舉04知識(shí)回顧接口介紹;Api接口的定義;Api接口的開(kāi)發(fā)與測(cè)試;Api接口的調(diào)用。學(xué)習(xí)目標(biāo)通過(guò)本節(jié)學(xué)習(xí)可以:掌握調(diào)度任務(wù)的配置;掌握調(diào)度參數(shù)類的開(kāi)發(fā)實(shí)現(xiàn);掌握調(diào)度任務(wù)類的開(kāi)發(fā)實(shí)現(xiàn);了解調(diào)度常見(jiàn)問(wèn)題;01調(diào)度功能介紹調(diào)度功能介紹調(diào)度功能介紹調(diào)度:是指根據(jù)一定的策略和算法,按照預(yù)定的規(guī)則和優(yōu)先級(jí),安排任務(wù)或資源的執(zhí)行順序和時(shí)間分配的過(guò)程。工業(yè)管理軟件的調(diào)度任務(wù)是指系統(tǒng)按配置要求,定時(shí)執(zhí)行相關(guān)的任務(wù),這里分別有兩個(gè)方面,一個(gè)是要執(zhí)行的任務(wù),需要開(kāi)發(fā)人員使用代碼實(shí)現(xiàn)相關(guān)的業(yè)務(wù)邏輯,另一個(gè)是實(shí)施人員在系統(tǒng)中配置執(zhí)行任務(wù)的時(shí)間、周期、參數(shù)等。使用調(diào)度的功能,如果是直連數(shù)據(jù)庫(kù)調(diào)試,需要在WebClient工程中引用Hangfire.Oracle.Core.dll,SIE.Schedule.dll和SIE.Web.Schedule.dll,依賴的第三方包:Hangfire1.7.8,Hangfire.Core1.7.8。調(diào)度的數(shù)據(jù)庫(kù)連接名:hangfire;VS自帶的數(shù)據(jù)庫(kù)連接配置"hangfire":{"Name":"hangfire","ConnectionString":"DataSource=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=D:\\Project\\DEMO\\SMOM.Demo.V9.1\\App_Data\\DEMO_91.mdf;IntegratedSecurity=True;UserId=DEMO_91","ProviderName":"System.Data.SqlClient"},調(diào)度功能介紹調(diào)度功能介紹調(diào)度功能的開(kāi)發(fā),最好是與業(yè)務(wù)工程區(qū)分開(kāi),單獨(dú)建調(diào)度工程進(jìn)行調(diào)度功能的開(kāi)發(fā),工程名以Job結(jié)尾。命名規(guī)范:調(diào)度任務(wù)類命名以Job結(jié)尾;調(diào)度參數(shù)類命名以JobParameter結(jié)尾。做調(diào)度功能開(kāi)發(fā)時(shí),調(diào)度任務(wù)類是必須的,調(diào)度參數(shù)類非必須(根據(jù)具體的業(yè)務(wù)來(lái)決定是否需要參數(shù)類)。做調(diào)度功能開(kāi)發(fā)時(shí),日志必須記錄詳細(xì)。02調(diào)度界面配置說(shuō)明調(diào)度界面配置調(diào)度界面配置調(diào)度的界面配置都是在“調(diào)度任務(wù)設(shè)置”功能配置完成的。調(diào)度界面配置調(diào)度界面配置在“調(diào)度任務(wù)設(shè)置”功能中添加調(diào)度任務(wù),選擇一筆數(shù)據(jù),點(diǎn)擊確定。調(diào)度界面配置調(diào)度界面配置調(diào)度名稱可以修改,配置cron表達(dá)式和方法參數(shù)。調(diào)度界面配置調(diào)度界面配置配置調(diào)度任務(wù)參數(shù)(執(zhí)行時(shí)間和周期)點(diǎn)擊調(diào)度任務(wù)的“cron表達(dá)式”,可配置調(diào)度任務(wù)的執(zhí)行時(shí)間及周期,即告訴調(diào)度器什么時(shí)候執(zhí)行,或者隔多久執(zhí)行一次。調(diào)度界面配置調(diào)度界面配置配置調(diào)度任務(wù)的參數(shù)(業(yè)務(wù)參數(shù))點(diǎn)擊調(diào)度任務(wù)的“方法參數(shù)”,即可彈出該任務(wù)的業(yè)務(wù)參數(shù)配置頁(yè)面,該頁(yè)面就是由調(diào)度任務(wù)參數(shù)視圖進(jìn)行配置的。調(diào)度界面配置調(diào)度界面配置配置完成后,保存數(shù)據(jù),任務(wù)狀態(tài)默認(rèn)是可用的。調(diào)度界面配置調(diào)度界面配置運(yùn)行和觸發(fā)啟動(dòng)后點(diǎn)擊觸發(fā)按鈕,進(jìn)入調(diào)度任務(wù)排隊(duì)等待,根據(jù)時(shí)間先后順序執(zhí)行。運(yùn)行和觸發(fā)的區(qū)別:運(yùn)行:表示立即執(zhí)行,在本地環(huán)境運(yùn)行調(diào)度,在開(kāi)發(fā)時(shí)可通過(guò)這個(gè)按鈕進(jìn)行調(diào)試調(diào)度任務(wù)。觸發(fā):進(jìn)入排隊(duì)等待,在調(diào)度服務(wù)運(yùn)行,由調(diào)度器執(zhí)行。觸發(fā)依賴于調(diào)度服務(wù),本地調(diào)試配置了cron表達(dá)式,點(diǎn)擊觸發(fā),也不會(huì)定時(shí)去執(zhí)行調(diào)度任務(wù);在調(diào)度服務(wù)執(zhí)行調(diào)度任務(wù)時(shí),任務(wù)狀態(tài)必須是啟用的才會(huì)進(jìn)行排隊(duì)等待執(zhí)行。思考題調(diào)度任務(wù)配置為每天的16點(diǎn)執(zhí)行,該如何配置?03調(diào)度功能開(kāi)發(fā)示例調(diào)度功能開(kāi)發(fā)示例需求描述需求描述:開(kāi)發(fā)一個(gè)調(diào)度任務(wù),根據(jù)類別名稱、狀態(tài)來(lái)統(tǒng)計(jì)讀者數(shù)量(類別名稱和狀態(tài)作為參數(shù)傳入)。思考題上頁(yè)P(yáng)PT中,要實(shí)現(xiàn)需求描述的要求的調(diào)度任務(wù),至少需要開(kāi)發(fā)幾個(gè)類?調(diào)度功能開(kāi)發(fā)示例開(kāi)發(fā)步驟開(kāi)發(fā)調(diào)度參數(shù)類,命名以JobParameter結(jié)尾,標(biāo)記特性根實(shí)體和序列化[RootEntity,Serializable],繼承JobParameter,通過(guò)代碼段添加屬性。調(diào)度功能開(kāi)發(fā)示例開(kāi)發(fā)步驟調(diào)度參數(shù)界面配置:跟普通實(shí)體視圖配置一樣,需繼承WebViewConfig<T>,調(diào)度參數(shù)設(shè)置中彈出的是表單頁(yè)面,所以調(diào)用的是ConfigDetailsView視圖,相關(guān)字段在ConfigDetailsView設(shè)置即可。調(diào)度功能開(kāi)發(fā)示例開(kāi)發(fā)步驟調(diào)度任務(wù)類的開(kāi)發(fā):命名以Job結(jié)尾,繼承JobBase,標(biāo)記特性[Job(“統(tǒng)計(jì)讀者數(shù)量”,typeof(ReaderJobParameter))],實(shí)現(xiàn)調(diào)度任務(wù)執(zhí)行方法ExecuteJob。調(diào)度功能開(kāi)發(fā)示例調(diào)度任務(wù)類說(shuō)明[Job("統(tǒng)計(jì)讀者數(shù)量",typeof(ReaderJobParameter))]所有的調(diào)度任務(wù)類,都需要標(biāo)記Job標(biāo)簽,用于告訴系統(tǒng)當(dāng)前的類是一個(gè)調(diào)度任務(wù)類,在“調(diào)度任務(wù)設(shè)置”中識(shí)別并添加到調(diào)度任務(wù)中。JobBase所有的調(diào)度任務(wù)的類,都需要繼承JobBase類,只有繼承了JobBase,才提供相關(guān)調(diào)度任務(wù)的相關(guān)標(biāo)準(zhǔn)方法。ExecuteJob繼承了JobBase的類,需要實(shí)現(xiàn)ExecuteJob方法,調(diào)度器在執(zhí)行調(diào)度任務(wù)時(shí),會(huì)自動(dòng)調(diào)用調(diào)度任務(wù)類的ExecuteJob方法,就是說(shuō)系統(tǒng)在定時(shí)執(zhí)行這個(gè)方法。在執(zhí)行ExecuteJob方法時(shí),會(huì)將“調(diào)度任務(wù)設(shè)置”中設(shè)置的參數(shù)傳給ExecuteJob的param參數(shù)。調(diào)度功能開(kāi)發(fā)示例調(diào)度任務(wù)類說(shuō)明AddLog調(diào)度任務(wù)在執(zhí)行過(guò)程中,可以將相關(guān)的日志信息寫入到數(shù)據(jù)庫(kù)中,同時(shí)會(huì)在“調(diào)度任務(wù)設(shè)置”功能中看到。需要注意的是,調(diào)度任務(wù)中執(zhí)行一次任務(wù),就算寫多個(gè)日志信息,都會(huì)合并成一個(gè),并不會(huì)出現(xiàn)多條記錄。ReaderJobParameter(JobParameter)ReaderJobParameter是自己定義的參數(shù)實(shí)體,用于提供當(dāng)前調(diào)度任務(wù)類可以要接收的自定義業(yè)務(wù)參數(shù),如果調(diào)度任務(wù)類不需要設(shè)定任何業(yè)務(wù)參數(shù),則默認(rèn)為JobParameter即可,即typeof(JobParameter)。調(diào)度功能開(kāi)發(fā)示例開(kāi)發(fā)步驟完成后,運(yùn)行項(xiàng)目,在“調(diào)度任務(wù)設(shè)置”功能中,點(diǎn)擊添加,任務(wù)就會(huì)添加進(jìn)來(lái)了,就可以進(jìn)行任務(wù)的配置了。04常見(jiàn)異常問(wèn)題列舉常見(jiàn)異常問(wèn)題常見(jiàn)異常問(wèn)題調(diào)度平臺(tái)執(zhí)行升級(jí)數(shù)據(jù)庫(kù)操作升級(jí)表失敗。問(wèn)題描述:調(diào)度平臺(tái)相關(guān)dll都依賴進(jìn)來(lái)了,也配置了調(diào)度的數(shù)據(jù)庫(kù)連接字符串且正確,但是執(zhí)行升級(jí)數(shù)據(jù)庫(kù)操作生成調(diào)度平臺(tái)表時(shí),生成表失敗。原因:調(diào)度平臺(tái)如果是使用的sqlserver數(shù)據(jù)庫(kù),使用平臺(tái)的升級(jí)數(shù)據(jù)庫(kù)操作可以正常生成調(diào)度平臺(tái)的表;如果使用的是oracle數(shù)據(jù)庫(kù),使用平臺(tái)的升級(jí)數(shù)據(jù)庫(kù)操作無(wú)法生成調(diào)度平臺(tái)的表。解決方案:平臺(tái)使用的是oracle的數(shù)據(jù)庫(kù),則通過(guò)腳本生成調(diào)度相關(guān)表,腳本如下。常見(jiàn)異常問(wèn)題常見(jiàn)異常問(wèn)題調(diào)度任務(wù)需要先禁用再刪除,否則刪除后調(diào)度還會(huì)在hangfire運(yùn)行。如果刪除后調(diào)度還在運(yùn)行,可以在調(diào)度的控制臺(tái)Recurringjobs頁(yè)簽進(jìn)行刪除。常見(jiàn)異常問(wèn)題常見(jiàn)異常問(wèn)題部署的調(diào)度任務(wù)不執(zhí)行。問(wèn)題描述:部署后調(diào)度任務(wù)不執(zhí)行,對(duì)應(yīng)場(chǎng)景:調(diào)度測(cè)試環(huán)境(windows環(huán)境)執(zhí)行成功,但正式環(huán)境(linux+docker)不執(zhí)行。解決方案:打開(kāi)調(diào)度控制臺(tái)檢查linux環(huán)境是否時(shí)區(qū)正確,兩個(gè)系統(tǒng)的環(huán)境的時(shí)區(qū)標(biāo)識(shí)是不是樣的。常見(jiàn)異常問(wèn)題常見(jiàn)異常問(wèn)題下面第1個(gè)圖是windows環(huán)境,第2個(gè)圖是linux環(huán)境。常見(jiàn)異常問(wèn)題常見(jiàn)異常問(wèn)題某個(gè)調(diào)度任務(wù)執(zhí)行失敗。問(wèn)題描述:其他調(diào)度任務(wù)都正常,某個(gè)調(diào)度任務(wù)執(zhí)行不了或者失敗,失敗如下圖。原因:調(diào)度服務(wù)沒(méi)有發(fā)布,只發(fā)布了Host和BS。解決方案:調(diào)度服務(wù)、Host和BS同時(shí)發(fā)布。練習(xí)1、工業(yè)軟件開(kāi)發(fā)中,開(kāi)發(fā)調(diào)度功能,調(diào)用任務(wù)是以Job結(jié)尾,繼承JobBase類及子類嗎?()2、工業(yè)軟件開(kāi)發(fā)中,調(diào)度任務(wù)需要配置參數(shù)是需要繼承JobParameter類嗎?()3、

工業(yè)軟件開(kāi)發(fā)中,調(diào)用任務(wù)如果定義了參數(shù)類并繼承了JobParameter類

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論