2016-08-26 12 views
1

10 분마다 실행하려는 python 스크립트가 있습니다. 그러나 해당 스크립트를 완료하는 데 30 분이 걸립니다. (스크립트는 약 1400 개 이상의 서버를 쿼리합니다.) 매 10 분마다 실행되도록하면 이미 실행중인 cron 작업이 종료됩니까 아니면 그냥 새 작업을 시작하고 다른 작업을 계속 실행합니까?동일한 cronjob을 여러 번 실행하십시오.

다른 작업이 중단되면 동시에 여러 번 실행할 수있는 방법이 있습니까? 그것은 어떤 도움이있는 경우

이 사전에 10 분마다

cd /home/forge/****.**********.*** && ./status.py 

감사를 실행하도록 예약 된 cron 작업에 대한 내 명령입니다.

+0

이 스크립트의 복사본이 겹쳐서 실행되지 않습니다 (원하는 것처럼 보이기 때문에) 컴퓨터를 땅바닥으로 돌리면 속도가 느려 집니까? 어쩌면 당신은 당신의 스크립트가 어떻게 작동하는지 그리고 어떻게 사용하고 싶은지 다시 생각하고 싶을 것입니다. –

+0

@ScottHunter 최대 값은 3을 동시에 중첩합니다. 그리고 약간 느려지 겠지만이 작업을 위해 "전용 서버"가 있습니다 (전용 서버는이 작업 전용 서버를 의미 함). 클라이언트가 액세스 할 기본 서버에서 성능이 저하되지 않습니다. – Timo

+1

백그라운드에서 실제 스크립트를 시작하는 짧은 스크립트, 따라서 cron은 짧은 하나만 볼 것입니다 ... –

답변

2

나중에 작업이 이전 작업을 중지하는 경우 실행 된 작업 설명에서 처리해야합니다. 그러나 작업이 30 분 동안 실행되면 10 분 후에 2 개의 status.py 작업이 표시되고 20 분 후에 3 개의 status.py 작업이 표시됩니다. 첫 번째 작업이 30 분에 끝나면 다른 작업이 시작되고 여전히 세 작업이 있습니다. 그런 다음 분 40 초에 두 번째 작업이 종료되고 다른 작업이 시작되므로 마지막에 항상 세 번 실행합니다 (status.py).

대부분의 유닉스 도구와 마찬가지로 Cron은 일을 잘못하면 상관하지 않습니다. 이 시스템은 당신이 말한 것에 충실하려고합니다.

+1

** NO ** 분 40에 당신은 세 가지 직업을 갖습니다! 장시간에 10 분 * 1 분에 한 가지 일을 시작하면 한 명이 죽었습니다 (30 분 전에 시작됨). 누적은 처음에만 나타납니다. –