작업 스케쥴링(Job scheduling)

이상해씨·2023년 8월 17일
0

작업 스케쥴링(Job scheduling)

  • 특정 작업이 실행되는 조건 (when, how)을 계획하고 예약하는 프로세스

  • 자동화 작업, 반복작업 관리

  • 시스템 유지보수, 데이터 처리, 배치작업에 활용

  • 설정된 시간에 작업실 및 주기적 반복 실행

  • 자원의 효율적 이용, 자동화

장단점

장점

1. 자동화

  • 사람의 개입없이 자동적으로 실행

2. 시간 자원 절약

  • 정기적 실행으로 시간, 자원 절약.

3. 효율, 정확

4. 비상시 대처

  • 스케쥴링 작업을 이용하여 비상시 대처. 시스템의 안정성 향상

5. 작업 예측 및 계획

  • 미래 실행되야 할 작업 예측, 계획, 시스템 운용 도움

단점

1. 복잡성

  • 작업들간의 종속성, 실행순서 고려

2. 실시간 반응 난해

  • 예약된 작업외 실시간으로 반응할 때 적합하지 않음

3. 작업 충돌 및 부하

  • 여러 작업이 동시에 실행되거나 작업이 많을 경우 충돌이 발생할 수 있음

4. 오류 처리와 모니터링

  • 스케쥴링 시, 오류처리와 모니터링을 하여 예상치 못한 상황과 오류에 대처해야 함

종류

1. Cron 표현식

  • 리눅스 및 유닉스 시스템에서 사용되는 시간 표현식. 특정 시간에 작업 예약.

2. 백그라운드 스레드

  • 백그라운드에서 작업을 실행하는 스레드를 생성 및 스케줄링하여 작업 관리.

3. 스케줄러 라이브러리

  • 다양한 프로그래밍 언어 및 프레임워크에서 제공하는 스케줄러 라이브러리.
  • 예를 들어, Python의 APScheduler, Celery, Django-Q

4. 웹 기반 스케줄링

  • 웹 애플리케이션을 통해 작업 스케줄링을 설정하고 관리할 수 있는 인터페이스 제공.
profile
공부에는 끝이 없다

0개의 댓글