Repolode
Hexagon

Hexagon/croner

Node, Deno, Bun 및 브라우저에서 함수를 예약하거나 다음 실행 시각을 계산할 수 있는 무의존성 TypeScript/JavaScript cron 라이브러리입니다.

스타
2,611
포크
75
열린 이슈
7
마지막 커밋
4일 전

어떤 프로젝트인가요?

Croner를 사용하면 JavaScript 및 TypeScript 코드에서 cron 일정에 따라 함수를 실행하거나, cron 표현식을 평가해 다음 실행 시각을 확인하고 특정 날짜가 패턴과 일치하는지 검사할 수 있습니다. 데이터베이스나 설정 파일 없이 메모리에서 실행되며 Node.js, Deno, Bun 및 브라우저에서 사용할 수 있습니다.

표준 cron 문법 외에도 초 필드와 연도 필드를 선택적으로 지원하며, L(마지막 날짜 또는 요일), W(가장 가까운 평일), #(해당 월의 n번째 요일), +(일자와 요일 간 AND 로직)도 지원합니다. 작업별로 시간대를 지정하거나 일시 중지, 재개, 중지할 수 있으며, 최대 실행 횟수 또는 시작 및 종료 시각을 설정할 수 있습니다.

실행 중인 비동기 작업이 끝나기 전까지 새 트리거를 차단하는 중복 실행 방지 기능, 설정 가능한 오류 처리, Node 또는 Deno 프로세스가 종료될 수 있도록 타이머의 unref를 선택하는 옵션 등 런타임 보호 기능을 제공합니다. 타입 정의도 포함되어 있습니다.

핵심 기능

  • 01초 필드와 연도 필드를 선택적으로 포함하는 cron 표현식으로 함수를 예약합니다.
  • 02다음 및 이전 실행 시각을 확인하고, 날짜가 패턴과 일치하는지 검사합니다.
  • 03시간대, L, W, #, + 수정자 및 Quartz 방식의 요일 번호 매기기를 지원합니다.
  • 04비동기 작업의 중복 실행을 방지하는 기능과 설정 가능한 오류 처리를 제공합니다.
  • 05의존성이 없으며 TypeScript 타입 정의가 포함되어 있습니다.

활용 사례

  • 별도의 스케줄러 서비스 없이 Node.js 또는 Bun 서버에서 주기적인 백그라운드 작업을 실행합니다.
  • UI에 표시할 일정의 다음 실행 시각을 계산합니다.
  • 서로 다른 지역의 사용자를 위해 특정 시간대에 작업을 예약합니다.
  • Deno 또는 브라우저 환경에서 cron 방식의 타이머를 실행합니다.

빠른 시작

  1. 1

    npm에서 croner를 설치합니다

    npm install croner
  2. 2

    프로젝트에서 Cron 클래스를 가져옵니다

    import { Cron } from "croner";
  3. 3

    cron 패턴으로 함수를 예약합니다

    new Cron('*/5 * * * * *', () => { console.log('This will run every fifth second'); });

사용 전 알아둘 점

  • 모든 데이터가 메모리에 저장되므로 호스트 프로세스가 실행 중일 때만 타이머가 작동합니다.

토픽

자주 묻는 질문

croner은(는) 무엇인가요?
Node, Deno, Bun 및 브라우저에서 함수를 예약하거나 다음 실행 시각을 계산할 수 있는 무의존성 TypeScript/JavaScript cron 라이브러리입니다. Croner를 사용하면 JavaScript 및 TypeScript 코드에서 cron 일정에 따라 함수를 실행하거나, cron 표현식을 평가해 다음 실행 시각을 확인하고 특정 날짜가 패턴과 일치하는지 검사할 수 있습니다. 데이터베이스나 설정 파일 없이 메모리에서 실행되며 Node.js, Deno, Bun 및 브라우저에서 사용할 수 있습니다.
croner은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
croner은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
croner은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. croner의 마지막 커밋은 2026년 10월 18일입니다.
croner은(는) 어디에 사용할 수 있나요?
별도의 스케줄러 서비스 없이 Node.js 또는 Bun 서버에서 주기적인 백그라운드 작업을 실행합니다. UI에 표시할 일정의 다음 실행 시각을 계산합니다. 서로 다른 지역의 사용자를 위해 특정 시간대에 작업을 예약합니다. Deno 또는 브라우저 환경에서 cron 방식의 타이머를 실행합니다.
croner는 어떻게 설치하나요?
npm에서 croner를 설치합니다: npm install croner 프로젝트에서 Cron 클래스를 가져옵니다: import { Cron } from "croner"; cron 패턴으로 함수를 예약합니다: new Cron('*/5 * * * * *', () => { console.log('This will run every fifth second'); });
croner은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/Hexagon/croner

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트