Nous avons 1-2 travailleurs, qui tourne 5 threads, chaque thread lit les messages de la file d'attente Azure et effectue un traitement long, chaque traitement peut prendre environ 1-2 heures. Nous aimerions implémenter la logique pour arrêter un thread particulier à un rôle de travailleur particulier. L'utilisateur soumettra une demande pour annuler un traitement particulier. Nous sauvegardons le rôle du travailleur et les informations sur les threads dans notre tableau azur. Mais nous sommes bloqués dans l'implémentation pour arrêter le thread du rôle de travail particulier qui est en cours de traitement. quelqu'un peut-il donner une idée/conception pour arrêter un fil particulier dans un travailleur particulier. Pouvons-nous utiliser un jeton d'annulation de thread pour arrêter le thread. S'il vous plaît, aidez-nous à arrêter le fil du rôle du travailleur.Comment arrêter le rôle de travail Azure
1
A
Répondre
1
Vous aurez besoin d'un drapeau de quelque sorte. Donc, soit une nouvelle file d'attente qui est surveillée ou une mise à jour DB.
Ensuite, un nouveau thread démarré dans votre rôle de travail surveille ces messages/indicateurs d'annulation, sélectionne le bon thread et l'arrête.
Je ne recommanderais pas de faire quoi que ce soit dans le thread qui est en cours de traitement car cela ralentirait votre travail, cependant si votre thread a une méthode OnStop, vous pouvez l'utiliser pour ranger le thread avant de l'éteindre.
Questions connexes
- 1. Comment arrêter le travail Azure sans perdre de message?
- 2. Flux de travail dans le rôle Web Azure
- 3. Service WCF sur HTTP dans un rôle de travail Azure?
- 4. rôle de travail + web coût
- 5. Connexion d'un rôle de travail Azure à un rôle de serveur de cache dédié
- 6. Déployer un rôle Web à partir du rôle de travail dans Azure
- 7. Comment utiliser Inversion Of Control (IoC) avec le rôle de travail Azure
- 8. F # Web Rôle Azure
- 9. Quel est le concept de * rôle de travail * dans le cloud Windows Azure?
- 10. Problème de rôle VM Azure
- 11. Azure Travailleur Communication de rôle
- 12. Répertoire virtuel dans le rôle Web Azure
- 13. Afficher le fichier journal du rôle de travail Windows Azure Node.js
- 14. Un rôle de travail Azure exécutant node.js redémarre-t-il le processus de noeud s'il disparaît?
- 15. Exécution de tâches à différents intervalles dans le rôle de travail Azure
- 16. Azure DevFabric: Rôle Etat Occupé
- 17. Azure Worker Rôle VM spécifications
- 18. Comment puis-je ajouter redis.config à un rôle de travail Azure?
- 19. NewRelic et Azure Worker Rôle
- 20. Azure Travailleur Rôle/Rôle Web ne pas lire de ServiceConfig
- 21. instances Azure et rôle web
- 22. WCF et Azure: faire un rôle de travail attendre jusqu'à ce qu'il reçoive des données d'un autre rôle de travailleur
- 23. installez mysql sur Windows Azure via le rôle de travailleur
- 24. Comment intentionnellement provoquer le plantage du rôle Azure?
- 25. Arrêter le flux de travail de déchargement
- 26. Azure Insights application - CPU Process Worker Rôle
- 27. Rôle du travailleur vs Azure Batch
- 28. Azure: combinaison de rôle Web et de travail: recyclage de pool d'applications
- 29. Le rôle Web Azure reçoit des résultats d'un long processus
- 30. Téléchargement de rôle Windows Azure VM
Merci Adam. Votre approche me donne des directions. Cependant, je n'ai pas compris "si votre thread a une méthode OnStop, vous pouvez l'utiliser pour ranger le thread avant de le fermer." Vous parlez de l'annulation de thread? ... My Another question est dans le cas où nous avons 2 rôles de travail comment le thread du rôle de travailleur peut être arrêté. Votre approche fonctionne parfaitement Si c'est le même rôle de travailleur. – user145610
Sur chaque rôle de travail, vous devrez démarrer les threads. Gardez une référence à ces discussions. Je l'ai fait précédemment en utilisant une liste pour les garder. En dehors de ce thread, un autre thread est en cours d'exécution pour surveiller les indicateurs dans la base de données. Une fois qu'il détecte un drapeau pour arrêter le thread, vous pouvez appeler un Thread.Abort(); –
Merci Adam. Laisse-moi essayer – user145610