2017-03-02 4 views
0

Gibt es eine Möglichkeit für mich, eine Purge Queue Message Task zu planen. Ich habe mich gefragt, ob es ein Skript gibt, das die Queue Message löschen kann. Wenn es ein Skript dafür gibt, kann ich einfach einen Taskplaner einstellen, um die Warteschlange Message periodisch zu löschen. Meine Umgebung so eingestellt.Schedule Purge Queue Message

.\Private Queues\my queues name\Queue messages [Queue Message are queued here] 
.\Private Queues\my queues name\retry [when above Queue failed it is queue here] 
.\Private Queues\my queues name\poison [when retry reach certain amount] 

so ist meine Absicht, die Gift-Warteschlange zu entfernen. Für jetzt lösche ich es manuell, so gerade jetzt suchte ich zu automatisieren löschen Warteschlangenmeldung

Antwort

0
Add-Type -Assembly System.Messaging 
$queuename = ".\private$\poison" 

if ([System.Messaging.MessageQueue]::Exists($queuename)) { 
     $queue = New-Object -TypeName "System.Messaging.MessageQueue" 
     $queue.Path = $queuename 
     $messagecount = $queue.GetAllMessages().Length 
     $queue.Purge() 
     Write-Output "Purged $messagecount messages from $queuename." 
    }