cron_calc
1.0.0
Croncalc : Cron 직무를 계산하기위한 루비 보석. 이 보석을 사용하면 Cron 표현을 제공하여 Cron 작업이 언제 발생하는지 쉽게 결정할 수 있습니다. 주요 기능에는 발생 계산 기능이 포함됩니다.
이 도구는 작업 일정을 위해 CRON을 사용하는 시스템의 스케줄링, 예측 및 분석에 사용할 수 있습니다. Croncalc에 관한 기사를 여기에서 읽을 수도 있습니다.
실행하여 보석을 설치하십시오.
$ gem install cron_calc
cron_calc
설치 한 후 Cron String으로 CronCalc
초기화 할 수 있습니다.
require 'cron_calc'
cron_calc = CronCalc . new ( '5 5 * * *' )
이제 세 가지 메소드 #in
, #next
, #last
중 하나를 사용하여 지정된 기간 내에 Cron 작업 발생을 결정할 수 있습니다.
#in
사용 주어진 기간 내에 Cron 직무 발생을 계산합니다.
매개 변수 :
period
- 계산의 시작 및 종료 시간을 정의하는 범위 객체. period = Time . new ( 2024 , 1 , 1 , 0 , 0 ) .. Time . new ( 2024 , 1 , 4 , 0 , 0 )
cron_calc . in ( period )
# => [2024-01-01 05:05:00 +0100, 2024-01-02 05:05:00 +0100, 2024-01-03 05:05:00 +0100]
#next
사용 주어진 시작 시간에서 Cron 작업의 다음 'N'발생을 계산합니다.
매개 변수 :
count
(선택 사항, 정수) 계산할 발생 수입니다. 기본값은 1입니다.after:
- (선택 사항, 시간, 키워드 인수) 발생을 계산할 시작 시간. 제공되지 않으면 기본값은 현재 시간 (Time.now)으로 나타납니다.max_years
(선택 사항, 정수, 키워드 인수) 향후 발생을 검색하는 최대 연도. 기본값은 5까지. cron_calc . next
# => [2023-12-20 05:05:00 +0100]
cron_calc . next ( 3 )
# => [2023-12-20 05:05:00 +0100, 2023-12-21 05:05:00 +0100, 2023-12-22 05:05:00 +0100]
cron_calc . next ( 2 , after : Time . new ( 2024 , 1 , 1 , 0 , 0 ) )
# => [2024-01-01 05:05:00 +0100, 2024-01-02 05:05:00 +0100]
#last
사용 주어진 종료 시간까지 Cron 작업의 마지막 'N'발생을 계산합니다.
매개 변수 :
count
(선택 사항, 정수) 계산할 발생 수입니다. 기본값은 1입니다.before:
- (선택 사항, 시간, 키워드 인수) 과거 발생을 계산할 종료 시간. 제공되지 않으면 기본값은 현재 시간 (Time.now)으로 나타납니다.max_years
(선택 사항, 정수, 키워드 인수) 과거 사건을 뒤로 검색하는 최대 연도. 기본값은 5까지. cron_calc . last
# => [2023-12-19 05:05:00 +0100]
cron_calc . last ( 4 , before : Time . new ( 2024 , 1 , 1 , 0 , 0 ) )
# => [2023-12-31 05:05:00 +0100, 2023-12-30 05:05:00 +0100, 2023-12-29 05:05:00 +0100, 2023-12-28 05:05:00 +0100]
# You can omit the count parameter
CronCalc . new ( '5 5 */5 * SUN' ) . last ( before : Time . new ( 2020 , 1 , 1 , 0 , 0 ) )
# => [2019-12-01 05:05:00 +0100]
# You can combine ',' and '-'
CronCalc . new ( '5 5 5-7,10 FEB *' ) . next ( 5 )
# => [2024-02-05 05:05:00 +0100, 2024-02-06 05:05:00 +0100, 2024-02-07 05:05:00 +0100, 2024-02-10 05:05:00 +0100, 2025-02-05 05:05:00 +0100]
# You can use predefined definitions like @daily, @monthly, etc.
CronCalc . new ( '@monthly' ) . next ( 3 , after : Time . new ( 2024 , 1 , 1 , 0 , 0 ) )
# => [2024-01-01 00:00:00 +0100, 2024-02-01 00:00:00 +0100, 2024-03-01 00:00:00 +0100]
# I want to know when the next 10 Friday the 13ths will be!
CronCalc . new ( '0 0 13 * FRI' ) . next ( 10 )
# =>
# [2024-09-13 00:00:00 +0200,
# 2024-12-13 00:00:00 +0100,
# 2025-06-13 00:00:00 +0200,
# 2026-02-13 00:00:00 +0100,
# 2026-03-13 00:00:00 +0100,
# 2026-11-13 00:00:00 +0100,
# 2027-08-13 00:00:00 +0200,
# 2028-10-13 00:00:00 +0200]
https://github.com/mizinsky/cron_calc에서 버그 보고서 및 풀 요청은 환영합니다.
보석은 MIT 라이센스의 조건에 따라 오픈 소스로 제공됩니다.