UiPath-定时任务原理
UiPath-定時(shí)任務(wù)原理
- 緣起
- 工具
- 有Orchestrator實(shí)現(xiàn)方法
- 無Orchestrator實(shí)現(xiàn)方法
緣起
接觸過我本人的朋友一定聽過機(jī)器人工作模式是007的這個(gè)梗。經(jīng)歷了今年的疫情以及意外的年假,愈發(fā)覺得機(jī)器人定時(shí)任務(wù)的重要性,尤其是在由于突發(fā)情況下維護(hù)人員不能及時(shí)響應(yīng)時(shí),這個(gè)功能可以保證流程的基本運(yùn)行。
工具
接觸過公司域賬號(hào)管理或者腳本管理的朋友,一定聽說過Windows的Task Scheduler和Linux系統(tǒng)的Cron這兩員大將,他們可以對(duì)各項(xiàng)工作的進(jìn)行精確到秒的定時(shí)。
在UiPath Orchestrator(中控臺(tái)),是使用Corn表達(dá)式實(shí)現(xiàn)定時(shí)運(yùn)行的,而沒有購買中控臺(tái)的朋友可以用cmd+Task Scheduler的官方漏洞實(shí)現(xiàn),下面就簡單介紹工作原理。
有Orchestrator實(shí)現(xiàn)方法
最簡單的當(dāng)然是在網(wǎng)頁UI上使用,舊版此功能叫Schedule,新版更名Trigger,常用就是進(jìn)行Minutes,Hourly,Daily,Weekly,Monthly的定時(shí)設(shè)定,相信能看到這里的朋友都清楚常規(guī)操作,這里主要講講最下面的Advenced。
就像UiPath自帶功能無法滿足所有功能點(diǎn)一樣,業(yè)務(wù)需求總有常規(guī)方法覆蓋不到的點(diǎn)。想象一個(gè)要求在每天8-17時(shí)的范圍內(nèi)每個(gè)小時(shí)運(yùn)行一次的unattended流程,雖然使用默認(rèn)的定時(shí)方式創(chuàng)建十個(gè)定時(shí)也可以,但無論是創(chuàng)建還是后期維護(hù)都會(huì)比較麻煩。這個(gè)時(shí)候就要使用簡潔的Corn Expression進(jìn)行Advenced設(shè)置。Corn表達(dá)式有七個(gè)域:
| 秒 | 是 | 0-59 | ,-*/ |
| 分 | 是 | 0-59 | ,-*/ |
| 時(shí) | 是 | 0-23 | ,-*/ |
| 日 | 是 | 1-31 | ,-*/LW |
| 月 | 是 | 1-12或JAN-DEC | ,-*/ |
| 周 | 是 | 1-7或MON-SUN | ,-*/L# |
| 年 | 否 | 空或“yyyy”格式年份 | ,-*/ |
| 下面是Corn合法字符的含義與相應(yīng)舉例: |
如0 0 0 1 1 ?,代表每年一月一日零點(diǎn)零分零秒觸發(fā)
如0 0 0 ? 1 1,代表每年一月的每個(gè)周一零點(diǎn)零分零秒觸發(fā)
如0 0 0,12 1 1 ?,代表每年一月一日零點(diǎn)零分零秒和代表每年一月一日十二點(diǎn)零分零秒分別觸發(fā)
如0/10 0 0 1 1 ?,代表代表每年一月一日零點(diǎn)零分每十秒鐘觸發(fā)
如0 0 18-1 * * ?,代表從晚六點(diǎn)到凌晨一點(diǎn)每個(gè)小時(shí)零分零秒觸發(fā)
如0 0 0 L * ?,代表在每個(gè)月最后一天的零點(diǎn)零分零秒觸發(fā)
*值得一提的是,當(dāng)在周使用L時(shí),在Orchestrator 2018.4.3版本中,不可以單獨(dú)使用L,而需要以數(shù)字或者周縮寫的形式加L來表示,而且周日也只能使用SUNL的形式表達(dá)而不能像其他日一樣使用類似1L的形式。如0 0 0 ? * SUNL,代表每個(gè)月最后一個(gè)周日的零時(shí)零分零秒觸發(fā)
如0 0 0 15W * ?,代表每個(gè)月離15號(hào)最近的一個(gè)雙休制工作日的零時(shí)零分零秒觸發(fā)
如0 0 0 ? * 2#1,代表每個(gè)月第一個(gè)周二的零時(shí)零分零秒觸發(fā)
無Orchestrator實(shí)現(xiàn)方法
新版的UiPath會(huì)在attended產(chǎn)品提供一個(gè)定時(shí)提醒。。只能提醒不能運(yùn)行,因?yàn)檫@個(gè)功能是為人機(jī)結(jié)合場景設(shè)計(jì)的,所以這里不吐槽它。另外水一下UiPath產(chǎn)品的一個(gè)原理,當(dāng)你在電腦里面安裝了UiPath的Studio,其實(shí)你是安裝了三個(gè)東西;除了Studio,另外倆一個(gè)是默默干活的執(zhí)行者,一個(gè)是時(shí)刻準(zhǔn)備聽從中控臺(tái)安排的指揮者,這倆缺了誰機(jī)器人都得罷工。而cmd,就是作為武林至尊的操作系統(tǒng)點(diǎn)誰誰干活的金手指。
了解了這些背景,那么cmd+Task Scheduler的原理實(shí)際就是使用bat的形式記錄下喚醒UiPath執(zhí)行者程序的命令,然后使用Task Scheduler去定時(shí)運(yùn)行。下面講講怎么做:
call C:\Users\XXXXX\AppData\Local\UiPath\app-19.2.0\UiRobot.exe /f C:\Users\XXX\Documents\UiPath\DemoProject\Main.xaml
喜歡嘗試的朋友可以動(dòng)手玩玩,這些還可以延伸出很多玩法,比如傳入argument,比如在cmd里添加代碼隱藏那個(gè)丑丑的大黑框;同樣的,這種方法不僅僅可以定時(shí)運(yùn)行UiPath的流程,原理已經(jīng)講過,其他的可運(yùn)行的代碼都可以嘗試。
總結(jié)
以上是生活随笔為你收集整理的UiPath-定时任务原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: R中rank函数使用
- 下一篇: Excel排位函数RANK的使用方法