Kami memiliki server 2012 yang memiliki sekitar 20 tugas terjadwal yang digunakan untuk memantau. Kami telah membangun server 2016 untuk menggantinya dan saat saya memindahkan tugas ke server baru, saya mengalami masalah. Sebagian besar tugas kami berjalan setiap beberapa menit.
Di Server 2012 kami akan menjadwalkan tugas untuk mulai pada pukul 1200 pagi hari ini (jadi waktu di masa lalu) dan terulang setiap X menit. Tugas akan dimulai pada waktu yang dijadwalkan berikutnya. Sempurna.
Di Server 2016 jadwal yang dimulai di masa lalu tidak berjalan. Jadi kami harus menjadwalkannya untuk memulai di masa depan. Ini bagus sampai Anda reboot. Sekarang waktu mulai di masa lalu dan itu tidak akan berjalan. Ia bahkan tidak mendaftarkan proses yang gagal. Kolom Next Run Time menunjukkan bahwa itu harus dijalankan tetapi tidak.
Selain membuat dua pemicu, satu yang dimulai di masa depan dan yang lain yang dimulai saat reboot (yang tidak ingin kita lakukan karena beberapa tugas hanya boleh berjalan pada waktu yang ditentukan), apakah ada cara yang lebih baik? Ini sepertinya bug. Versi 2012 bekerja dengan sangat baik.
MEMPERBARUI
Ada solusi untuk ini. Buat jadwal satu kali yang berjalan tanpa batas. Ini berfungsi setelah restart seperti yang Anda harapkan. Saya tahu ini tidak bagus untuk jadwal yang "aneh" tetapi berfungsi dengan baik untuk hal-hal yang ingin kami jalankan setiap 3 menit atau apa pun.
Jawaban:
FYI - Saya telah mengkonfirmasi dengan Microsoft melalui tiket dukungan yang saya buka kemarin bahwa ini adalah bug. Teknologi dukungan mengonfirmasi itu diklasifikasikan secara internal sebagai bug dan patch sedang dikembangkan. Saya diberi tanggal target rilis patch untuk Juli / Agustus.
Ini mempengaruhi Windows 10 dan Server 2016. Sistem pengujian saya ditambal ke pembaruan kumulatif kemarin. Masalah tidak terjadi di Server 2012 R2 dan Windows 7.
EDIT - Pada kemungkinan Agustus, tapi pasti September 2017, masalah ini diperbaiki pada sistem yang telah saya uji.
sumber
Masalah ini tampaknya hanya memengaruhi tugas dengan
Repeat task every: ...
set opsi.Sejauh ini, saya mendapat kesan bahwa
trigger at X, then repeat every 10 minutes
itu hanya cara rumit yang tidak perlu untuk ditulistrigger at every xx:x0
dalam Penjadwal Tugas.Ternyata tidak. Rupanya, itu persis seperti yang dikatakannya: Tugas dipicu pada
X
saat itu, dan hanya kemudian diulang. Tidak ada pemicu awal, tidak ada pengulangan. Saya tampaknya tidak ada cara sederhana untuk menjadwalkantrigger at every xx:x0
di Penjadwal Tugas (atau ada? Itu mungkin membuat pertanyaan Serverfault terpisah yang baik.) Fakta bahwa kolom "Waktu Jalankan Berikutnya" menunjukkan sesuatu yang berbeda tidak sangat membantu.Kami "memecahkan" masalah ini dengan menjadwalkan tugas untuk dijalankan pada pukul 12:00 setiap hari (alih-alih hanya satu hari) dan kemudian mengulangi setiap
...
menit selama 1 hari. Ini berarti bahwa jika terjadi reboot, pada pukul 12:00, tugas akan dilanjutkan. Ini tidak ideal, tetapi kompromi yang dapat diterima di sini.Saya kira Anda bisa menurunkan "downtime tugas" menjadi 1 jam dengan membuat satu pemicu untuk setiap jam dan meminta tugas diulang setelah itu setiap
...
menit selama 1 jam.Anehnya, sepertinya selalu seperti itu (lihat komentar pertama untuk jawaban ini ), kami tidak pernah menyadarinya sampai sekarang. Menurut komentar lain dari jawaban yang ditautkan, cara kanonik untuk menyelesaikan masalah ini adalah dengan mengaktifkan
Run task as soon as possible after a scheduled start is missed
opsi.Jadi, ya, ini adalah bug, tapi itu kolom "Waktu Lari Selanjutnya" yang buggy, bukan penjadwalan yang sebenarnya.
sumber
1 . Windows 2016 Server tentu memerlukan opsi ini dalam pekerjaan Anda:
Saya mencatat opsi ini di tangkapan layar
2 . Tambahkan pemicu tambahan. Seperti:
dll dalam arti: untuk memindahkan tugas untuk memulai pada waktu yang diinginkan
3 . Dalam beberapa tugas di Windows 2016 - menerapkan pendekatan ini.
sumber