2023 pre-print 개발일지
8/6
스케줄러 작성 전 장고 프로젝트 세팅
=> 사용자 정의 명령을 만들기 위해 프로젝트 앱 내에 다음과 같이 management/commands라는
디렉터리를 생성해 준다.
commands폴더에 작업 스케줄러로 일정 시간마다 실행시키고 싶은 파일을 생성해 준다.
매일 일정시간마다 모델의 데이터를 삭제해야 하므로 "reset_orders"라는 이름으로 작성했다.
모델의 데이터를 삭제하는 코드작성
=> 일정 시간마다 Order와 OrderFile 모델의 데이터를 삭제하는 코드를 아래와 같이 작성해 준다.
작업 스케줄러 설정
1. 작업 만들기
=> 윈도 검색창에서 작업 스케줄러를 검색한 후 실행한다.
작업 스케줄러 라이브러리에서 작업 만들기를 클릭한다.
2. 일반 > 작업 이름 작성
=> 다음과 같이 reset_preprint_orders라는 이름을 작성하였다.
아래의 가장 높은 수준의 권한으로 실행을 클릭해 준다.
3. 트리거 > 어느 시점에 작동시킬 건지 설정하기
=> 다음과 같이 우리가 작성한 파일을 어느 시점마다 주기 반복 할 것인지 위와 같이 설정한다.
4. 동작 > 파이썬 경로, 인수 경로, 시작 위치 경로 설정
=> 프로그램/스크립트
프로그램/스크립트 입력창에 python.exe의 경로를 입력해야 한다.
python.exe의 경로는 아래의 명령어로 확인이 가능하다.
=> 인수 추가
인수 추가 입력창에는 manage.py & 명령어로 설정한 reset_orders 파일을 실행시키기 위한 인수를 작성한다.
장고 프로젝트를 기준으로 manage.py가 있는 경로 + 실행하려는 파일 -> 이와 같이 작성하면 된다.
manage.py가 C:\Users\Owner\Documents\My-Project\pre-print-service\manage.py에 있다면
이 경로를 " " -> 따옴표로 감싸주고 (중요)
"C:\Users\Owner\Documents\My-Project\pre-print-service\manage.py" reset_orders
=> 이와 같이 뒤에 실행하려는 해당 파일을 붙여준다.
=> 시작 위치
마지막으로 시작위치에는 장고 프로젝트의 manage.py 파일이 위치한 디렉토리 경로를 입력해주면 된다.
-manage.py이 위치한 경로- => 장고프로젝트가 있는 폴더 경로
C:\Users\Owner\Documents\My-Project\pre-print-service
=> 이를 시작위치란에 작성해주면 된다. (이 경로는 " "=>따옴표로 감싸주면 안됨)
5. 조건
=> 기본 사항으로 컴퓨터의 AC전원이 켜져 있는 경우에만 작업 시작으로 체크되어있기에
실행되지 않는다면 조건 수정이 필요하다.
정상적으로 작동!
=> 이와 같이 위에서 설정한 시간이 지난 시점 명령 프롬프트가 깜박거린 후 확인한 결과
정상적으로 데이터베이스의 데이터들이 삭제된 것을 확인할 수 있다!
프로젝트 진행을 하면서 작업 스케줄러를 처음으로 작성해 보았는데 흥미로웠다.
이후 다른 프로젝트에서도 적용할 수 있을 것 같아 조금 더 작업 스케줄러 메커니즘을 공부하고
장고 내의 스케줄러 학습도 기회가 된다면 진행해 봐야겠다.
'Project > pre-print-project' 카테고리의 다른 글
poppler-pdfinfo을 사용하여 pdf 페이지 수 계산 - 장고 프로젝트 (1) | 2023.08.12 |
---|---|
pre-print 프론트 작업 1, 2차 ( Django 템플릿 언어 & html 상속 사용) (0) | 2023.08.11 |
Django pdf파일 페이지 계산하기(PyPDF2) & 마이페이지, 주문 상세 페이지 구현 (0) | 2023.08.05 |
Django 장고 .gitignore 설정 & 민감한 정보 분리 & 깃허브 재개설 (0) | 2023.08.03 |
Django 장고 form사용 및 user모델 생성, 로그인+로그아웃 & 회원가입 기능 구현 (0) | 2023.08.02 |