Sapa wae sing nglakokake proyek ing panjadwal tugas Windows bakal cepet utawa mengko bakal kesandhung ing beda inexplicable ing runtime. Skrip PHP sing mlaku ing 5 menit ing baris printah dumadakan njupuk 20 menit nalika mbukak liwat Windows Task Scheduler. Panganggo sing padha, hak sing padha, kode sing padha - kaping papat wektu eksekusi. Ana apa ing kana?
Sawise jam Debugging, Sesi monitor proses lan mbandhingake konfigurasi sing ora kaetung, solusi kasebut kaget banget: Penjadwalan tugas Windows nyetel prioritas proses sing luwih murah kanthi standar. Nilai standar kanggo tugas ing Penjadwal Tugas yaiku 7 (Ngisor Normal), ora 4-6 (Normal), kaya sing dikarepake. Iki prabédan ketoke cilik bisa mimpin kanggo losses kinerja massive ing I / O-operasi intensif.
Tingkat prioritas Windows kanthi rinci yaiku:
| Nilai | Prioritas | Katrangan |
|---|---|---|
| 0 | Wektu nyata | Prioritas paling dhuwur (ati-ati!) |
| 1 | Dhuwur | Prioritas dhuwur |
| 2-3 | Ndhuwur Normal | Babagan Normal |
| 4-6 | Normal | Standar kanggo proses interaktif |
| 7 | Ngisor Normal | DEFAULT ing Penjadwal Tugas |
| 8-9 | Ngisor Normal | Malah luwih murah |
| 10 | Nganggur | Prioritas paling murah |
Masalah karo prioritas ing penjadwalan tugas iku maneka warna: Nalika sampeyan ngekspor tugas lan ndeleng XML, sampeyan bakal asring nemokake ora Setelan prioritas. Windows banjur bakal nggunakake nilai standar kanthi meneng 7. GUI nampilake nilai iki sajrone ekspor, nanging ora disimpen kanthi jelas ing tugas kasebut. Prioritas ngisor ora mung nyebabake wektu CPU kurang, nanging uga:
- Operasi I/O throttled disk
- Prioritas jaringan sing luwih murah
- Caching sistem file sing ora apik
- Telat ing akses database
Sanajan sampeyan nggunakake pangguna sing padha lan ngaktifake "Mlaku kanthi hak istimewa sing paling dhuwur," tugas kasebut mlaku ing stasiun Windows / lingkungan desktop sing beda-beda kanthi prioritas sing beda. Kanggo ngenali masalah kasebut, sampeyan bisa nggunakake PowerShell kanggo dhaptar kabeh tugas kanthi prioritas sing nyata.:
38b7fa6c77dc344401485cd338ea4128
Meh kabeh tugasku mlaku kanthi prioritas 7. Saiki kita mbenerake prioritas sawetara tugas bebarengan:
38b7fa6c77dc344401485cd338ea4128
Sawise nyetel prioritas kanggo 4 Skrip PHP saya mlaku (biasane) maneh ing 300 detik sing dikarepake. Yen sampeyan wis ngatur tugas karo akun panganggo tartamtu, sampeyan mung bisa ngetik iki ing baris 10 minangka nderek:
38b7fa6c77dc344401485cd338ea4128