Sun Java System Messaging Server 6 2005Q4 관리 설명서

Job Controller

메일이 채널의 대기열에 배치될 때마다 Job Controller는 해당 메일을 전달하기 위해 실행 중인 작업이 있는지 확인합니다. 여기에는 새 작업 프로세스를 시작하거나, 스레드를 추가하거나, 단순히 작업이 이미 실행 중인지 확인하는 것이 포함됩니다. 채널 또는 풀에 대한 작업 제한에 도달하여 작업을 시작할 수 없을 경우 Job Controller는 다른 작업이 종료할 때까지 기다립니다. 작업 제한을 더 이상 초과하지 않으면 Job Controller는 다른 작업을 시작합니다.

채널 작업은 Job Controller 내의 처리 풀 안에서 실행됩니다. 풀은 채널 작업이 실행되는 “장소”로 생각할 수 있습니다. 풀은 작업 세트가 풀 외부의 작업과 자원을 놓고 경쟁하지 않고도 작동할 수 있는 컴퓨팅 영역을 제공합니다. 풀에 대한 자세한 내용은 Job Controller 파일 채널 실행 작업의 처리 풀을 참조하십시오.

채널에 대한 작업 제한은 maxjobs 채널 키워드에 의해 결정되며 풀에 대한 작업 제한은 풀의 JOB_LIMIT 옵션에 의해 결정됩니다.

Messaging Server는 일반적으로 모든 메일을 즉시 전달하려고 시도합니다. 그러나 첫 번째 시도에서 메일을 전달할 수 없는 경우 해당 backoff 키워드에 지정된 기간 동안 메일이 지연됩니다. backoff 키워드에 지정된 시간이 경과하자마자 지연된 메일을 전달할 수 있으며 필요한 경우 메일을 처리하기 위해 채널 작업이 시작됩니다.

현재 처리 중인 메일과 처리 대기 중인 메일에 대한 Job Controller의 메모리 내장 데이터 구조는 일반적으로 MTA 대기열 영역의 디스크에 저장된 전체 메일 파일 집합을 반영합니다. 그러나 디스크의 메일 파일 백로그가 Job Controller의 메모리 내장 데이터 구조 크기 제한을 초과하기에 충분할 만큼 작성될 경우 Job Controller는 디스크의 전체 메일 파일 중 일부만 메모리에서 추적합니다. Job Controller는 메모리에서 추적 중인 메일만 처리합니다. 메모리 내장 저장소를 비워야 할 정도로 많은 메일이 전달된 경우 Job Controller는 MTA 대기열 영역을 스캔하여 메일 목록을 업데이트함으로써 메모리 내장 저장소를 자동으로 갱신합니다. 그런 다음 Job Controller는 디스크에서 방금 검색한 추가 메일 파일의 처리를 시작합니다. Job Controller는 MTA 대기열 영역에 대한 이러한 스캔 작업을 자동으로 수행합니다.

사이트에서 과도한 메일 백로그가 정기적으로 발생할 경우 MAX_MESSAGES 옵션을 사용하여 Job Controller를 조정할 수 있습니다. Job Controller가 더 많은 메모리를 사용할 수 있게 MAX_MESSAGES 옵션 값을 늘리면 메일 백로그가 Job Controller의 메모리 내장 캐시를 오버플로하는 경우를 줄일 수 있습니다. 또한 이 경우 Job Controller가 MTA 대기열 디렉토리를 스캔해야 할 때와 관련된 오버헤드가 줄어듭니다. 그러나 Job Controller가 메모리 내장 캐시를 다시 작성해야 할 경우 캐시가 더 크기 때문에 프로세스에 더 많은 시간이 걸린다는 것을 유의하십시오. 또한 Job Controller는 시작 또는 재시작될 때마다 MTA 대기열 디렉토리를 스캔해야 하므로 과도한 메일 백로그가 있다는 것은 그렇지 않을 때보다 Job Controller를 시작 또는 재시작할 때 많은 오버헤드가 발생한다는 것을 의미합니다.

풀과 Job Controller 구성에 대한 자세한 내용은 Job Controller 파일 메일 처리 및 전달 구성을 참조하십시오.

Job Controller 시작 및 중지

Job Controller를 시작하려면 다음 명령을 실행합니다.

start-msg job_controller

Job Controller를 종료하려면 다음 명령을 실행합니다.

stop-msg job_controller

Job Controller를 다시 시작하려면 다음 명령을 실행합니다.

imsimta restart job_controller

Job Controller를 다시 시작하면 현재 실행 중인 Job Controller가 종료되고 새 Job Controller가 바로 시작됩니다.