우리는 5 개의 스레드를 돌리는 1-2 명의 작업자가 있습니다. 각 스레드는 Azure 큐에서 메시지를 읽고 긴 처리를 수행하며 각 처리에는 약 1-2 시간이 걸릴 수 있습니다. 특정 작업자 역할에서 특정 스레드를 중지하는 논리를 구현하고 싶습니다. 사용자가 특정 처리를 취소하라는 요청을 제출합니다. 우리는 푸른 색 테이블에 작업자 역할과 스레드 정보를 저장합니다. 그러나 처리중인 특정 작업자 역할의 스레드를 중지시키기 위해 구현에 박차를 가하고 있습니다. 어떤 사람이 특정 작업자의 특정 스레드를 중지시키기위한 아이디어/디자인을 제공 할 수 있습니까? 스레드의 취소 토큰을 사용하여 스레드를 중지 할 수 있습니까? 작업자 역할의 스레드를 중단하는 데 도움을주십시오.Azure Worker 역할을 중지하는 방법
1
A
답변
1
일종의 플래그가 필요합니다. 따라서 모니터링되는 새로운 큐 또는 DB 업데이트.
그런 다음 취소 메시지/플래그를 모니터링하고 올바른 스레드를 선택하여 중지하는 작업자 역할로 새 스레드를 시작하십시오.
작업 속도가 느려지므로 처리중인 스레드에서 아무 것도하지 않는 것이 좋지만 스레드에 OnStop 메서드가있는 경우 스레드를 종료하기 전에 스레드를 정리할 수 있습니다.
관련 문제
- 1. Azure Worker 역할을 사용한 구성 파일 변환
- 2. Windows에서 작업을 예약하는 방법 azure worker role
- 3. Azure Worker Role에서 Elmah 로깅?
- 4. Azure Worker 역할 VM 사양
- 5. Azure Worker Role에서 방황하는 System.Timers.Timer
- 6. Webrole의 Azure worker internalendpoint
- 7. Azure Worker 역할 구성
- 8. Azure Worker 역할 오류 처리
- 9. 웹 역할에서 Azure Worker 역할 다시 시작
- 10. 인스턴스 별 Azure Worker-Role 구성은 어떻게합니까?
- 11. Azure Worker Process 자체가 멈출 수 있습니까?
- 12. 공개 IP를 사용하지 않고 Azure Worker/Web 역할을 Azure Iaas VM에 연결하는 방법은 무엇입니까?
- 13. Azure Worker Role과 Azure Automation의 차이점은 무엇입니까?
- 14. Windows Azure Worker 역할 및 SVG
- 15. Microsoft Azure Worker 역할 실행 제어
- 16. 사용자 지정 이미지에서 Azure Worker 역할 컴퓨터
- 17. Azure Worker Role Linux VM에서 파일 복사
- 18. NGINX Worker 여객을 사용할 때 역할을 처리합니다.
- 19. Azure Worker 역할 데이터 변동성
- 20. Azure worker role.Sharepoint client sdk
- 21. Azure WCF webrole/Worker role confused ..
- 22. Azure Worker 역할의 다른 간격으로 작업 수행
- 23. 어떤 Azure 역할을 사용해야합니까?
- 24. Azure Worker 역할로 IoC (Inversion Of Control)를 사용하는 방법
- 25. Azure 작업자 역할을 시작하고 클라이언트를 리디렉션하는 방법
- 26. Azure Worker Role에서 socket.io를 사용하는 방법은 무엇입니까?
- 27. Azure 작업자 역할을 주입하는 방법은 무엇입니까?
- 28. 내 Windows Azure Worker 역할을 Ado.NEt 엔터티 기반 db에 연결하려면 어떻게해야합니까?
- 29. Windows에서 다중 스레드 작업 azure worker role
- 30. async 키워드는 Azure Worker 역할과 어떻게 작동합니까?
감사합니다. 당신의 접근 방식은 나에게 방향을 알려준다. 그러나 당신의 스레드가 OnStop 방법을 가지고 있다면 abt를 이해할 수 없습니다. 스레드를 종료하기 전에 스레드를 정리할 수 있습니다. " 스레드 취소 내에서 ABT 말하기? ... 내 또 다른 질문은 두 개의 작업자 역할이있는 경우 어떻게 작업자 역할의 스레드를 종료 할 수 있는지입니다. 동일한 작업자 역할이면 접근 방식이 완벽하게 작동합니다. – user145610
각 작업자 역할에서 스레드를 시작해야합니다. 이 스레드에 대한 참조를 유지하십시오. 이전에 List을 사용하여이 작업을 수행했습니다. 이 쓰레드 외부에는 다른 쓰레드가 실행되어 DB의 플래그를 모니터링합니다. 일단 스레드를 멈추게하는 플래그를 발견하면 Thread.Abort()를 호출 할 수 있습니다. –
감사합니다. Adam. 나 해보자 – user145610