Skip to content

Tapşırıq planlayıcısı ​

Task Scheduler (Tapşırıq planlayıcısı) WSL-də dövri tapşırıqların avtomatlaşdırılması üçün istifadə olunur; təkrarlanan əl ilə baxım əməliyyatlarının qarşısını alır. Mürəkkəb komanda sətri parametrlərini əzbərləməyə ehtiyac qalmadan zamanlanmış tapşırıqları yaratmaq və idarə etmək üçün vizual idarəetmə interfeysi təqdim edir.

Bu funksiyanın nümunə ssenariləri:

  • WSL-də distributivlərin dövri ehtiyat nüsxəsi
  • Xüsusi skriptlərin və ya əmrlərin icrası

Bütün tapşırıqlar Windows Tapşırıq Planlayıcısının \WSLDashboard\UserTasks\ yolunda toplanır; asanlıqla baxılır və idarə olunur. Tapşırıq vəziyyətini (hazır / işləyir / deaktiv) interfeysdə real vaxtda görə bilərsiniz.

İcma skript deposu ​

Aşağıdakı icma deposundan nümunə skriptləri (distributiv ehtiyat nüsxəsi) endirərək sürətlə başlaya bilərsiniz:

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

Bu, istifadəçilərin birlikdə qurduğu kod deposudur; skript töhfələri və ya ən yaxşı təcrübə paylaşımları üçün Pull Request göndərməyinizi səbirsizliklə gözləyirik.

İcra əmri ​

Əmr konfiqurasiyası ​

Hər zamanlanmış tapşırıq icra ediləcək əmri (skript və ya icra olunan proqram) aşağıdakı seçimlərlə konfiqurasiya edə bilər:

Konfiqurasiya elementiTəsvir
İcra əmriİcra ediləcək skriptin və ya icra olunan proqramın yolu; .bat, .ps1, .cmd, .exe, .py kimi formatları dəstəkləyir. Fayl "Gözdən keçir" düyməsi ilə seçilə bilər.
Əmr parametrləriƏmrə ötürülən əlavə parametrlər, isteğe bağlıdır.
Administrator icazələriİşarələndikdə tapşırıq ən yüksək icazələrlə işləyir; UAC icazə yüksəltmə tələb edən əməliyyatlar üçün uyğundur.

Tapşırıq əməliyyatları ​

Tapşırıq yaradıldıqdan sonra aşağıdakı əməliyyatları edə bilərsiniz:

ƏməliyyatTəsvir
Dərhal icraPlanlama qaydalarından asılı olmayaraq tapşırığı dərhal tetikləyir.
Aktivləşdir/Deaktiv etTapşırığın avtomatik planlamasını dayandırır və ya bərpa edir.
SilTapşırığı Tapşırıq Planlayıcısından çıxarır.

Planlama qaydaları ​

Cron ifadəsi ​

Tapşırıq planlaması icra qaydalarını müəyyən etmək üçün standart 5 sahəli Cron ifadəsindən istifadə edir; formatı aşağıdakı kimidir:

dəqiqə saat gün ay həftənin_günü
SahəDəyər diapazonuTəsvir
dəqiqə0 - 59saatın neçənci dəqiqəsində icra olunur
saat0 - 23günün neçənci saatında icra olunur
gün1 - 31ayın neçənci günündə icra olunur
ay1 - 12ilin neçənci ayında icra olunur
həftənin günü0 - 70 və 7-nin hər ikisi bazar deməkdir

Hər sahə aşağıdakı sintaksisi dəstəkləyir:

  • * — bütün dəyərlərə uyğun gəlir (məs. * * * * * hər dəqiqə icra deməkdir)
  • */N — hər N vahiddən bir icra edir (məs. */5 * * * * hər 5 dəqiqədən bir icra deməkdir)
  • Tək nömrə — xüsusi dəyərə uyğun gəlir (məs. 0 9 * * 1 bazar ertəsi saat 9:00-da icra deməkdir)

Qeyd: Vergüllə ayrılmış çoxsaylı dəyərlər (məs. 1,15) və diapazon ifadələri (məs. 1-5) dəstəklənmir; əlavə məhdudiyyətlər üçün aşağıdakı Qeydlər bölməsinə baxın.

Dəstəklənən kombinasiya nümunələri ​

Bu proqram yerli Cron daemonu işlədirmir; Cron ifadələrini Windows zamanlanmış tapşırıqlarının (schtasks.exe) tetik parametrlərinə tərcümə edir. Dəqiq uyğunlaşdırma üçün parser yalnız aşağıdakı 7 kombinasiya nümunəsini sabit olaraq dəstəkləyir; bu, zamanlanmış tapşırıq ssenarilərinin böyük əksəriyyətini əhatə edir:

#NümunəTəsvirUyğun ssenarilər
1* * * * *hər dəqiqə icramonitorinq, real vaxt detektasiya tapşırıqları
2*/N * * * *hər N dəqiqədən bir icradövri yoxlama tapşırıqları
3M * * * *hər saatın M-ci dəqiqəsində icra (məs. 3 * * * *)tam saat tapşırıqları
4M H * * *hər gün H:M-də icra (məs. 0 3 * * *)gündəlik baxım, məs. hər gecə jurnalların təmizlənməsi
5M H * * DOWhər həftə müəyyən gündə H:M-də icra (məs. 0 12 * * 1)həftəlik rutin tapşırıqlar, məs. hər bazar ertəsi məlumat ehtiyatı
6M H D * *hər ay müəyyən tarixdə H:M-də icraaylıq tapşırıqlar, məs. hər ayın 1-də hesabat yaratmaq
7M H D MON *hər il müəyyən ay və gündə H:M-də icraillik tapşırıqlar, məs. müəyyən ayda icra

İfadə yuxarıdakı 7 nümunədən biri deyilsə, sistem onu Unsupported cron pattern kimi qiymətləndirir və yaradılmasını rədd edir.

Qeydlər ​

Əsas altyapı Windows zamanlanmış tapşırıqlarına əsaslandığı üçün bu proqramın Cron parseri standart Linux Cron-dan aşağıdakı nöqtələrdə fərqlənir:

1. Siyahılar (,) və diapazonlar (-) dəstəklənmir ​

Standart Cron vergüllə çoxsaylı diskret vaxt nöqtələrini müəyyən etməyə (məs. 1,15,30 * * * * 1, 15 və 30-cu dəqiqələr deməkdir) və ya tire ilə diapazonu müəyyən etməyə (məs. 1-5 * * * * 1-ci və 5-ci dəqiqələr arası deməkdir) imkan verir.

Bu proqramın məhdudiyyəti: Hər sahə yalnız tək nömrə, ulduz (*) və ya addım (*/N) ehtiva edə bilər; vergül və tire dəstəklənmir.

2. Sərbəst kombinasiya dəstəklənmir ​

Standart Cron sahələrin sərbəst kombinasiyasına imkan verir (məs. * 3 * * * səhər 3-dəki saat daxilində hər dəqiqə deməkdir), lakin bu proqram yalnız yuxarıda sadalanan 7 sabit nümunəni dəstəkləyir; bu əhatədən kənar ifadələr rədd edilir.

3. Addım nümunələrində zaman hizalanması fərqi ​

Standart Cron-da */5 * * * * saatın 0, 5, 10, 15... dəqiqələrinə sıx şəkildə hizalanır. Bu proqram onu Windows-un /SC MINUTE /MO 5 parametrlərinə tərcümə edir; Windows-un məntiqi intervalı tapşırığın yaradıldığı və ya aktivləşdirildiyi andan hesablayır.

Məsələn, hər 5 dəqiqədən bir işləyən tapşırığı 10:02-də saxlayıb aktivləşdirsəniz, o, ilk dəfə 10:07-də, sonra 10:12-də işləyəcək; standart saata hizalanmış 10:05-də deyil.