Django-crontab 적용하기
django-crontab으로 특정한 모듈을 주기적으로 실행하는 것이 가능합니다. 물론 직접 crontab에 잘 작성하는 것도 방법이겠지만 라이브러리로 어느정도 간단하게 관리가 가능하니까 사용하는 것이 좋을 것 같습니다.
설치는 pip install django-crontab
settings.py에 아래와 같은 내용을 포함해줍니다.
INSTALLED_APPS = [
...
...
'django-crontab',
]
...
...
CRONJOBS = [
('* * * * *', 'app_name.file_name.def_name', '>> /log_path/log_file.log')
]
INSTALLED_APPS는 당연한거니까 PASS !
CRONJOBS에 적절히 추가해주면 되는데 crontab 작성하시는 것과 동일하게 반복 주기를 설정하실 수 있습니다.
2번째 인자로 주기적으로 실행할 모듈을 작성하면 되는데 위에 적은 것을 그대로 풀어서 쓰면됩니다.
예로 aaa라는 앱에 views.py에 bbb 함수를 실행하는 것이라면
aaa.views.bbb 로 작성하시면 됩니다.
3번째 인자는 로그 기록인데 아예 빼버려도 작동합니다. 로그는 권한 설정이 잘되어 있는지 확인하시고 추가하시면 되고요.
django-crontab은 윈도우에서는 작동하지 않습니다. 코드만 배포하면 되는 것은 아니고 아래와 같은 명령어로 cronjob을 crontab에 기록해야 합니다.
python manage.py crontab add #당연히 추가하는 것이겠죠? cronjobs에 입력된 것들을 crontab에 기록해줍니다.
python manage.py crontab remove #cronjobs에 입력된 것들을 crontab에서 삭제합니다.
python manage.py crontab show #현재 적용된 것들을 프린트합니다.
'파이썬(python2.7) > 라이브러리,SW' 카테고리의 다른 글
django-crontab 소개 (특정 모듈 주기적으로 실행하기) (0) | 2019.07.08 |
---|---|
django allauth models 를 admin에서 unregister하기 (0) | 2019.05.01 |
Selenium Webdriver 활용 Instagram Login 해보기 (Python) (0) | 2019.02.14 |
data writing in google spreadsheet using python 2.7 (0) | 2018.03.13 |
selenium webdriver browser window size (0) | 2018.02.14 |
python RoboBrowser login submit (ajax login) (0) | 2017.06.11 |
python RoboBrowser login submit (0) | 2017.06.08 |
Html parsing - beautifulsoup4 (find all elements using attribute) (0) | 2017.06.07 |