2016-03-03 3 views
4

Я попытался удалить приложение из сервисной ткани с помощью сервисной ткани explorer.Удаление приложения из кластера кластеров службы

Я удалил приложение, используя команду «Удалить действие приложения». Тогда Когда я попытался Unprovision типа приложения я получил ошибку говоря,

Error: Application Type of version 1.0.0 could not be unprovisioned as it still contains active applications.

я мог видеть, что даже после удаления приложения, служба актера внутри приложения все еще активна в некоторых узлах. Am attaching a screenshot of my service fabric explorer.

Любая помощь относительно полного удаления приложений?

ответ

15

Это может произойти, если службы в вашем приложении не играют хорошо, не выключаясь по запросу платформы, например, игнорируя токен отмены в RunAsync.

Вот быстрый скрипт PowerShell, который будет проходить через приложение и заставить удалить все копии всех сохраняющих состояние услуг:

Connect-ServiceFabricCluster -ConnectionEndpoint localhost:19000 

$nodes = Get-ServiceFabricNode 

foreach($node in $nodes) 
{ 
    $replicas = Get-ServiceFabricDeployedReplica -NodeName $node.NodeName -ApplicationName "fabric:/MyApp" 

    foreach ($replica in $replicas) 
    { 
     Remove-ServiceFabricReplica -ForceRemove -NodeName $node.NodeName -PartitionId $replica.Partitionid -ReplicaOrInstanceId $replica.ReplicaOrInstanceId 
    } 
} 
+0

Спасибо. Это сработало. – DevMJ

+0

Работает отлично. Не забудьте заменить «fabric:/MyApp» на свое собственное имя приложения. – ken2k

Смежные вопросы