3.4. JobSink
이벤트 처리는 일반적으로 몇 분과 같은 짧은 기간 내에 완료됩니다. 이렇게 하면 HTTP 연결이 열려 있고 서비스가 조기에 축소되지 않습니다.
장기 실행 연결을 유지 관리하면 오류가 발생할 위험이 발생하여 다시 시작되고 반복적인 요청 재시도가 발생할 수 있습니다.
				JobSink를 사용하여 전체 Kubernetes 배치/v1 작업 리소스 및 기능 및 Kubernetes 작업 큐레이션 시스템을 사용하여 장기 실행 비동기 작업 및 작업을 지원할 수 있습니다.
			
3.4.1. JobSink 사용 링크 복사링크가 클립보드에 복사되었습니다!
					이벤트가   로 전송되면 Eventing에서 작업을 생성하고 수신된 이벤트를 Job Sink/etc/jobsink-event/event 에서 JSON 파일로 마운트합니다.
				
프로세스
JobSink오브젝트 정의를 YAML 파일로 생성합니다.JobSink YAML
Copy to Clipboard Copied! Toggle word wrap Toggle overflow JobSinkYAML 파일을 적용합니다.oc apply -f <job-sink-file.yaml>
$ oc apply -f <job-sink-file.yaml>Copy to Clipboard Copied! Toggle word wrap Toggle overflow JobSink가 준비되었는지 확인합니다.oc get jobsinks.sinks.knative.dev
$ oc get jobsinks.sinks.knative.devCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
NAME URL AGE READY REASON job-sink-logger http://job-sink.knative-eventing.svc.cluster.local/default/job-sink-logger 5s True
NAME URL AGE READY REASON job-sink-logger http://job-sink.knative-eventing.svc.cluster.local/default/job-sink-logger 5s TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow JobSink를 트리거합니다.JobSink는 이벤트 소스 또는 트리거에 의해 트리거될 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 작업이생성되었는지 확인합니다.oc logs job-sink-loggerszoi6-dqbtq
$ oc logs job-sink-loggerszoi6-dqbtqCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예:
{"specversion":"1.0","id":"123","source":"my/curl/command","type":"my.demo.event","datacontenttype":"application/json","data":{"details":"JobSinkDemo"}}{"specversion":"1.0","id":"123","source":"my/curl/command","type":"my.demo.event","datacontenttype":"application/json","data":{"details":"JobSinkDemo"}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
						JobSink는 수신하는 각 고유 이벤트에 대한 작업을 생성합니다.
					
						이벤트는 소스 및 ID 특성의 조합으로 고유하게 식별됩니다. 
					
						해당 이벤트의 작업이 이미 존재하는 동안 동일한 속성이 있는 이벤트가 수신되면 다른 작업이 생성되지 않습니다.
					
3.4.2. 작업 이벤트 파일 읽기 링크 복사링크가 클립보드에 복사되었습니다!
프로세스
이벤트파일을 읽고 CloudEvents JSON deserializer를 사용하여 역직렬화합니다. 다음 예제에서는 CloudEvents Go SDK를 사용하여 이벤트를 읽고 처리하는 방법을 보여줍니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
3.4.3. 사용자 정의 이벤트 파일 마운트 경로 설정 링크 복사링크가 클립보드에 복사되었습니다!
					JobSink 정의에 사용자 정의 이벤트 파일 마운트 경로를 설정할 수 있습니다.
				
프로세스
컨테이너 정의 내부에
volumeMounts구성을 포함하고 필요에 따라 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
3.4.4. 완료된 작업 정리 링크 복사링크가 클립보드에 복사되었습니다!
					JobSink 정의에 ttlSecondsAfterFinished 값을 설정하여 완료된 작업을 정리할 수 있습니다. 예를 들어 값을 600 으로 설정하면 완료된 작업 600초(10분)가 완료된 후 제거됩니다.
				
프로세스
정의에서
ttlSecondsAfterFinished값을 필요한 양으로 설정합니다.ttlSecondsAfterFinished의 예: 600으로 설정
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
3.4.5. FailJob 작업 시뮬레이션 링크 복사링크가 클립보드에 복사되었습니다!
프로세스
JobSink 정의에 버그 시뮬레이션 명령을 포함하여
FailJob작업을 트리거합니다.JobSink 실패 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow