ຂ້າມໄປຫາເນື້ອຫາຫຼັກ

ຕົວສ້າງ Cron Expression ຟຣີ

ສ້າງ, ກວດ ແລະ ອະທິບາຍ cron expression ສຳລັບ task ທີ່ scheduled. ຄຳອະທິບາຍ live, ຕົວຢ່າງ 5 run ຕໍ່ໄປ ແລະ preset pattern ທົ່ວໄປ.

ເຮັດວຽກແບບອອບໄລນ໌ໄດ້ຫຼັງໂຫຼດແລ້ວ
ນາທີ
(0-59)
ຊົ່ວໂມງ
(0-23)
ວັນ
(1-31)
ເດືອນ
(1-12)
ວັນທຳງານ
(0-7)

ໃນພາສາທຳມະດາ

ໃນ 09:00, ວັນຈັນ ຫາ ວັນສຸກ.

ຮູບແບບທົ່ວໄປ

ເຂົ້າກັນໄດ້ກັບ Unix cron ມາດຕະຖານ, GitHub Actions, Kubernetes CronJob ແລະລະບົບການຈັດຕາຕະລາງສ່ວນໃຫຍ່. ໃຊ້ * ສຳລັບ 'ທຸກໆ', */5 ສຳລັບ 'ທຸກໆ 5', 1-5 ສຳລັບ ranges, 1,15 ສຳລັບຄ່າສະເພາະ. ຍັງຍອມຮັບ @hourly, @daily, @weekly, @monthly, @yearly, ແລະຊື່ຄືກັບ MON-FRI ຫຼື JAN-DEC.

ການນຳໃຊ້ທົ່ວໄປ

  • ສ້າງ Cron ສໍາລັບ GitHub Actions WorkflowsGitHub Actions ໃຊ້ cron ໄວຍາກອນສໍາລັບ workflows ທີ່ກໍານົດໄວ້ຕາມເວລາ. ສ້າງ ແລະ ຢັ້ງຢືນ ກໍາ ໄນ້ ຂອງ ທ່ານ ຢູ່ ນີ້.
  • ສ້າງ Cron ສໍາລັບ Kubernetes CronJobsຊັບພະຍາກອນ Kubernetes CronJob ໃຊ້ cron ໄວຍາກອນມາດຕະຖານ. ສ້າງ ແລະ ອະ ທິ ບາຍ ການ ສະ ແດງ ໂດຍ ທາງ ໂສ ວ.
  • ສ້າງ Cron Entries ສໍາລັບ Linux crontabສ້າງ ການ ສະ ແດງ ສໍາ ລັບ cron Unix ແບບ ປະ ເພ ນີ (cron, crontab -e) ດ້ວຍ ຄວາມ ຫໍ່ ໃຈ.
  • ກໍ າ ນົ ດ ເວ ລາ ບໍ ລິ ການ ຕໍ່ ແປ ງ ຖາ ນະ ຂໍ້ ມູ ນກໍາ ນົ ດ ເວ ລາ ສໍາ ຮອງ, ສະ ສາ ກ ຫຼື ວິ ເຄາະ ວຽກ ງານ ດ້ວຍ ຄວາມ ຫໍ່ ໃຈ ໂດຍ ໃຊ້ cron ໄວຍາກອນ.
  • ຮຽນ ວິ ທີ Cron Expressions ທຳ ງານການ ປ່ຽນ ແປ ງ ທຸກ ຢ່າງ ສະ ແດງ ການ ອະ ທິ ບາຍ ພາ ສາ ອັງ ກິດ ທີ່ ຕັ ໄ ວ້ ທັ ນ ທີ ແລະ ການ ເບິ່ງ ລ່ວ ງ ໜ້າ ວຽກ ງານ 5 ຕໍ່ ໄປ — ວິ ທີ ທີ່ ດີ ທີ່ ສຸດ ໃນ ການ ຮຽນ cron.

ມັນເຮັດວຽກແນວໃດ

ຕົວສ້າງນິພົນ cron ເຮັດວຽກທັງໝົດຢູ່ໃນບຣາວເຊີຂອງທ່ານໂດຍໃຊ້ຕົວແຍກທີ່ຂຽນເອງໃນ lib/cron.ts — ບໍ່ມີໄລບຣາຣີພາຍນອກ, ບໍ່ມີການເອີ້ນເຊີບເວີ. ມັນກວດສອບນິພົນ, ປະກອບຄຳອະທິບາຍພາສາອັງກິດທຳມະດາໂດຍໃຊ້ Intl.DateTimeFormat ແລະ Intl.ListFormat ໃນຕົວຂອງບຣາວເຊີສຳລັບຊື່ວັນ ແລະ ເດືອນທີ່ຮັບຮູ້ທ້ອງຖິ່ນ, ແລະ ຄິດໄລ່ເວລາການເຮັດວຽກຄັ້ງຕໍ່ໄປໂດຍການຍ່າງໄປຂ້າງໜ້າຜ່ານເວລາດ້ວຍຫຼັກເຫດຜົນຂ້າມຊ່ອງແທນການ brute-force ທຸກນາທີ.

  1. 1
    ນິພົນຖືກແຍກເທື່ອລະຊ່ອງ
    ຕົວແຍກແບ່ງນິພົນເປັນຫ້າ (ຫຼືຫົກ) ຊ່ອງທີ່ແຍກດ້ວຍຊ່ອງຫວ່າງ ແລະ ໂທເຄັນແຕ່ລະຊ່ອງສຳລັບຈຸດຈຸລະພາກ, ຂອບເຂດ (ຕົວຢ່າງ 1-5), ໄວຍາກອນຂັ້ນ (ຕົວຢ່າງ */15), ແລະ ຄ່າທີ່ມີຊື່ເຊັ່ນ MON ຫຼື JAN. @macros ເຊັ່ນ @daily ຖືກຂະຫຍາຍເປັນຄ່າທຽບເທົ່າຫ້າຊ່ອງກ່ອນການແຍກເລີ່ມ. ຄ່າທີ່ບໍ່ຖືກຕ້ອງ ຫຼືໂຕເລກນອກຂອບເຂດປາກົດເປັນຄີຂໍ້ຜິດພາດທີ່ພິມແລ້ວທີ່ຈັບຄູ່ກັບຂໍ້ຄວາມທ້ອງຖິ່ນ.
  2. 2
    ຄຳອະທິບາຍທີ່ອ່ານໄດ້ໂດຍມະນຸດຖືກປະກອບ
    describeCron() ໃນ lib/cron.ts ສ້າງປະໂຫຍກພາສາອັງກິດ (ຫຼືທ້ອງຖິ່ນ) ໂດຍກວດວ່າຊ່ອງໃດເປັນ wildcards ທຽບກັບຊຸດຈະແຈ້ງ. ຊື່ວັນ ແລະ ເດືອນຖືກແກ້ໄຂຜ່ານ Intl.DateTimeFormat ດ້ວຍທ້ອງຖິ່ນທີ່ເປີດໃຊ້, ແລະ ລາຍການລິສຖືກເຊື່ອມໂດຍໃຊ້ Intl.ListFormat ດັ່ງນັ້ນຄຳເຊື່ອມ ('ແລະ' ທຽບກັບ ',' ຫຼືຮູບແບບສະເພາະທ້ອງຖິ່ນ) ກົງກັບພາສາຂອງຜູ້ໃຊ້.
  3. 3
    ເວລາການເຮັດວຽກຄັ້ງຕໍ່ໄປຄິດໄລ່ດ້ວຍການຂ້າມຊ່ອງ
    nextRuns() ຍ່າງອົງປະກອບ Date ໄປຂ້າງໜ້າຈາກຊ່ວງເວລາປັດຈຸບັນ, ແຕ່ຂ້າມທັງເດືອນ, ວັນ, ຫຼືຊົ່ວໂມງທີ່ບໍ່ສາມາດກົງກັນແທນທີ່ຈະທົດສອບທຸກນາທີ. ນີ້ໝາຍຄວາມວ່າກຳນົດການທີ່ເປັນໄປບໍ່ໄດ້ເຊັ່ນ ກຸມພາ 30 ອອກໄວຜ່ານການກວດຂອບເຂດຫ້າປີແທນທີ່ຈະວົນ 2.6 ລ້ານຄັ້ງ.
  4. 4
    ນິພົນແບ່ງປັນຜ່ານ URL fragment
    ນິພົນໃດທີ່ທ່ານພິມຖືກຂຽນເຂົ້າ URL fragment ຂອງໜ້າເປັນ #expr= (debounced 500 ms ຜ່ານ window.history.replaceState). Fragment ບໍ່ເຄີຍຖືກສົ່ງໄປເຊີບເວີ; ໜ້າ hydrate ຈາກມັນເມື່ອໂຫຼດ, ດັ່ງນັ້ນການແບ່ງປັນ ຫຼືບຸກມາກ URL ຟື້ນຟູນິພົນທີ່ແນ່ນອນໂດຍບໍ່ມີ state ເຊີບເວີໃດ.

ເຄື່ອງມືທີ່ກ່ຽວຂ້ອງ

ຄໍາຖາມທີ່ຖາມເລື້ອຍໆ