cron을 통해 100개의 작업을 효율적으로 계획하는 방법은 무엇입니까?

cron을 통해 100개의 작업을 효율적으로 계획하는 방법은 무엇입니까?

cron을 사용하여 scrapy를 통해 배포된 스파이더를 예약하고 있습니다. 각 거미는 한 줄입니다. 이제 100개의 거미가 있으면 계획하고 관리하기가 상당히 어려워집니다. 대량의 작업을 관리하는 데 권장되는 방법은 무엇입니까? 중복되는 작업 등 작업을 일시 중지/재개하는 데 필요한 잠재적인 유지 관리 시간을 살펴봅니다.

답변1

크론을 사용하지 마세요

요구 사항이 복잡한 경우 복잡한 일정(여러 서버에 분산)을 실행하도록 설계되고 트리거, 작업 종속성, 오류 처리, 재시도 및 재시도 모니터링 등을 지원하는 고급 제품 사용을 고려할 수 있습니다. 업계 전문 용어는 "엔터프라이즈"입니다. "작업 일정및/또는 "워크로드 자동화".

답변2

얼마나 자주 작업이 실행될지 예약해야 하는 경우 cron을 계속 사용할 수 있습니다. 작업의 교차 실행을 피하기 위해 cron이 일종의 대기열(redis, Rabbitmq, sql 데이터베이스)에 작업을 추가하는 짧은 스크립트만 실행하도록 하고 다른 스크립트가 해당 대기열을 사용하여 작업 부하를 순차적으로 또는 제한된 동시성으로 실행하도록 할 수 있습니다. 물론 이는 다른 작업의 실행을 차단하는 정체된 작업 부하를 처리하는 방법과 같은 또 다른 범주의 문제를 가져옵니다. :)

관련 정보