스케줄러 서비스란 무엇입니까?
Node.js 스케줄러 서비스를 작성하는 방법은 무엇입니까?
대부분 .net core, elixir, node.js, go 언어 등과 같은 최신 프레임워크에서 스케줄러 서비스를 작성할 수 있습니다.
이 예에서는 node.js를 사용합니다. 이 예제를 따르려면 javascript에 대한 기본 지식이 필요합니다.
기본 스케줄러 서비스를 생성하려면 다음 단계를 수행하십시오.
1 - 서비스용 프로젝트 폴더 생성
mkdir scheduler-service && cd scheduler-service
2 - npm 초기화
npm init -y
3 - 다음 패키지를 설치합니다.
나는 cron과 같은 스케줄러 기능을 위해 node-schedule 패키지를 선택했고 로깅을 위해 log4js를 선택했습니다.
4 - 자바스크립트 파일 생성
5 - 노드 일정 라이브러리 가져오기 및 scheduleJob 기능에 작업 할당
-
const schedule = require("node-schedule");
const job = schedule.scheduleJob("*/1 * * * *", function () {
console.log("every minute you will see this log");
});
위의 예에서 볼 수 있듯이 scheduleJob에는 2개의 매개변수가 있습니다.
1 - 크론 표현식
┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ │
│ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun)
│ │ │ │ └───── month (1 - 12)
│ │ │ └────────── day of month (1 - 31)
│ │ └─────────────── hour (0 - 23)
│ └──────────────────── minute (0 - 59)
└───────────────────────── second (0 - 59)
2 - 함수
log4js를 사용하여 다음을 기록하는 완전한 js 코드:
const log4js = require("log4js");
log4js.configure({
appenders: { log: { type: "file", filename: "schedule.log" } },
categories: { default: { appenders: ["log"], level: "info" } },
});
const logger = log4js.getLogger("log");
logger.info("scheduler started.");
const job = schedule.scheduleJob("*/1 * * * *", function () {
logger.warn("every minute you will see this log");
});
systemd 서비스 파일을 작성하는 방법은 무엇입니까?
서비스를 Linux 서비스에 등록하려면 systemd 서비스 파일을 만들어야 합니다.
systemd 서비스 파일을 생성하려면 다음 단계를 수행하십시오.
1 - Linux 터미널에 다음 명령 입력
2 - 다음 내용을 입력하십시오.
[Unit]
Description=node service
[Service]
WorkingDirectory=/home/emin/node/
User=ubuntu
ExecStart=/usr/bin/node /home/ubuntu/hello_env.js
Restart=on-failure
RestartSec=10
3 - sudo systemctl 데몬 재로드
system
가 새 정보를 선택할 수 있도록 서비스 파일이 변경될 때마다 이 작업을 수행해야 합니다. 4 - sudo systemctl 시작 일정
5 - sudo systemctl 상태 일정
서비스를 시작한 후 서비스 위치에 schedule.log 파일이 표시되어야 합니다.
자원:
Reference
이 문제에 관하여(스케줄러 서비스란 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/eminvergil/what-is-a-scheduler-service--5f8m텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)