Skip to content

Scheduler ng Gawain ​

Ang Task Scheduler ay ginagamit para sa awtomatikong pagpapatupad ng mga pana-panahong gawain sa WSL, iniiwasan ang paulit-ulit na manual maintenance operations. Nagbibigay ito ng visual management interface, upang makagawa at makapamahala ka ng mga naka-schedule na gawain nang hindi kinakailangang tandaan ang mga kumplikadong command line parameter.

Mga halimbawang sitwasyon ng function na ito:

  • Pana-panahong pag-backup ng mga distribution sa WSL
  • Pagpapatupad ng mga custom script o command

Ang lahat ng mga gawain ay nakolekta sa ilalim ng \WSLDashboard\UserTasks\ path ng Windows Task Scheduler, maginhawa para sa sentralisadong pagtingin at pamamahala. Maaari mong tingnan ang status ng mga gawain nang real-time sa interface (Handa / Tumatakbo / Naka-disable).

Community Script Repository ​

Maaari mong i-download ang mga halimbawang script (distribution backup) mula sa sumusunod na community repository upang mabilis magsimula:

https://github.com/owu/wsl-community

Ito ay isang code repository na pinagsasaluhan ng mga gumagamit, inaanyayahan ka naming magsumite ng Pull Request upang mag-ambag ng mga script o magbahagi ng mga pinakamahusay na kasanayan.

Pagpapatupad ng Command ​

Command Configuration ​

Ang bawat naka-schedule na gawain ay maaaring i-configure ang command na isasagawa (script o executable program), sumusuporta sa mga sumusunod na opsyon:

Item sa ConfigurationPaglalarawan
Command na IsasagawaAng path ng script o executable program na patatakbuhin, sumusuporta sa mga format tulad ng .bat, .ps1, .cmd, .exe, .py. Maaari kang pumili ng file sa pamamagitan ng "Browse" button.
Command ParametersKaragdagang mga parameter na ipinapasa sa command, opsyonal.
Administrator RightsKapag na-check, tatakbo ang gawain na may pinakamataas na pribilehiyo, angkop para sa mga operasyong nangangailangan ng UAC elevation.

Task Operations ​

Pagkatapos gumawa ng gawain, maaari mong gawin ang mga sumusunod na operasyon sa gawain:

OperasyonPaglalarawan
Patakbuhin NgayonPilit na i-trigger ang agarang pagpapatupad ng gawain, hindi pinaghihigpitan ng mga scheduling rule.
I-enable/I-disableI-pause o ipagpatuloy ang awtomatikong scheduling ng gawain.
TanggalinAlisin ang gawain mula sa Task Scheduler.

Scheduling Rules ​

Cron Expression ​

Ang task scheduling ay gumagamit ng karaniwang 5-field Cron expression upang tukuyin ang execution rules, ang format ay:

minuto oras araw buwan araw-ng-linggo
FieldSaklaw ng ValuePaglalarawan
minuto0 - 59Sa anong minuto ng bawat oras isasagawa
oras0 - 23Sa anong oras ng bawat araw isasagawa
araw1 - 31Sa anong araw ng bawat buwan isasagawa
buwan1 - 12Sa anong buwan ng bawat taon isasagawa
araw-ng-linggo0 - 7Ang 0 at 7 ay parehong kumakatawan sa Linggo

Sinusuportahan ng bawat field ang mga sumusunod na syntax:

  • * — tumutugma sa lahat ng value (halimbawa * * * * * ay nangangahulugang isasagawa bawat minuto)
  • */N — isasagawa bawat N unit (halimbawa */5 * * * * ay nangangahulugang isasagawa bawat 5 minuto)
  • Indibidwal na numero — tumutugma sa partikular na value (halimbawa 0 9 * * 1 ay nangangahulugang isasagawa tuwing Lunes ng 9:00)

Paalala: Hindi sumusuporta sa mga value na pinaghihiwalay ng kuwit (gaya ng 1,15) at range expressions (gaya ng 1-5), para sa higit pang limitasyon tingnan ang Mga Paalala sa ibaba.

Mga Suportadong Combination Pattern ​

Ang software na ito ay hindi nagpapatakbo ng native Cron daemon, kundi nagsasalin ng Cron expression sa Windows Task Scheduler (schtasks.exe) trigger parameters. Para sa tumpak na pagma-map, ang parser ay sumusuporta lamang sa sumusunod na 7 combination patterns na naka-hardcode, na sumasaklaw sa karamihan ng mga sitwasyon ng naka-schedule na gawain:

#PatternPaglalarawanAngkop na Sitwasyon
1* * * * *Isasagawa bawat minutoMga gawaing monitoring, real-time detection
2*/N * * * *Isasagawa bawat N minutoMga gawaing pana-panahong pagsusuri
3M * * * *Isasagawa sa minutong M ng bawat oras (halimbawa 3 * * * *)Mga gawain sa buong oras
4M H * * *Isasagawa sa oras H minuto M bawat araw (halimbawa 0 3 * * *)Pang-araw-araw na maintenance, gaya ng paglilinis ng logs sa madaling araw
5M H * * DOWIsasagawa sa oras H minuto M sa partikular na araw bawat linggo (halimbawa 0 12 * * 1)Mga lingguhang routine task, gaya ng pag-backup ng data tuwing Lunes
6M H D * *Isasagawa sa oras H minuto M sa partikular na petsa bawat buwanBuwanang gawain, gaya ng paggawa ng ulat tuwing ika-1
7M H D MON *Isasagawa sa oras H minuto M sa partikular na buwan at petsa bawat taonTaunang gawain, gaya ng pagpapatupad sa partikular na buwan

Kung ang expression ay hindi kabilang sa 7 pattern sa itaas, ituturing ng system itong Unsupported cron pattern at tatanggihan ang paggawa.

Mga Paalala ​

Dahil nakabatay ang pagpapatupad sa Windows Task Scheduler, ang Cron parser ng software na ito ay may mga sumusunod na pagkakaiba sa karaniwang Linux Cron:

1. Hindi Sumusuporta sa List (,) at Range (-) ​

Ang karaniwang Cron ay nagpapahintulot sa pagtukoy ng maraming discrete time points sa pamamagitan ng kuwit (halimbawa 1,15,30 * * * * ay nangangahulugang minutong 1, 15, 30), o range sa pamamagitan ng hyphen (halimbawa 1-5 * * * * ay nangangahulugang minutong 1 hanggang 5).

Limitasyon ng software na ito: Ang bawat field ay maaari lamang punan ng indibidwal na numero, asterisk (*), o step (*/N), hindi sumusuporta sa kuwit at hyphen.

2. Hindi Sumusuporta sa Malayang Combination ​

Ang karaniwang Cron ay nagpapahintulot ng malayang kombinasyon ng anumang field (gaya ng * 3 * * * na nangangahulugang bawat minuto sa loob ng oras na 3 ng umaga), ngunit ang software na ito ay sumusuporta lamang sa 7 nakapirming pattern na nakalista sa itaas, ang mga expression na wala sa saklaw na ito ay tatanggihan.

3. Pagkakaiba sa Time Alignment ng Step Pattern ​

Sa karaniwang Cron, ang */5 * * * * ay mahigpit na naka-align sa minutong 0, 5, 10, 15... ng orasan. Isinasalin ito ng software na ito sa /SC MINUTE /MO 5 parameter ng Windows, at ang logic ng pagproseso ng Windows ay kinukuwenta ang interval mula sa sandaling nilikha o na-enable ang gawain.

Halimbawa, kung nag-save at nag-enable ka ng gawaing tumatakbo bawat 5 minuto sa 10:02, unang isasagawa ito sa 10:07, pagkatapos ay 10:12, hindi naka-align sa karaniwang 10:05 ng orasan.