cron 실행 안되는 오류

악어·2023년 10월 25일
0

카페자리 서비스를 위해 열어둔 우분투 서버에서
특정 활동만 crontab 작업이 진행되지 않음을 확인했다.

/var/log/syslog를 통해 확인해본바,
아래와 같은 에러 로그가 찍혀있었다.

(CRON) info (No MTA installed, discarding output)

구글링해보니 postfix라는 애를 설치하면 된다는데..

sudo apt install postfix

명령어를 통해 설치해봤으나 별 효과는 볼 수 없었다.


좀더 crobtab에 대해 검색해보니,
crontab 작업이 실패하면 이 내용을 메일로 알려주는데,
이때 필요한 패키지가 postfix인듯 했다.

다시말해 로그로 찍힌 에러 문구는,
이미 crontab 작업이 실패한 뒤 이를 메일링하는 과정에서
발생한 것이므로 애초에 작업이 실패한 것과는 관련이 없었던 것이다.

오타난 부분이 있는지 등 많은 시도를 해봤으나 실행이 안돼서
마지막으로 해본 것은 그냥 새 함수를 만드는 것이었다.

# <기존방식>
# /cron/daily_activity_stack.py에서 함수 정의
def clear_daily_activity_stack():
	...
    
# /settings.py에서 작업설정
CRONJOBS = [
	('* * * * *', 'cron.daily_activity_stack.clear_daily_activity_stack')
]

이런 식이었다면, 그냥 같은 로직을
새 파일에 작성해보았다.

# <새로운 방식>
# /cron/activity_stack.py에서 함수 정의
def clear_activity_stack():
	...
    
# /settings.py에서 작업설정
CRONJOBS = [
	('* * * * *', 'cron.activity_stack.clear_activity_stack')
]

보면 알 수 있듯, 그냥 경로와 함수명만 바뀌었다.
그런데 이건 실행이 됐다..

원인도 모르겠고 왜 해결이 된건지도 알수가 없다.

그리고 10개가 넘는 cron 작업중 왜 얘만
에러가 났는지도 모르겠다.

profile
냅다 회사부터 세워버린 개발자

0개의 댓글