2017-03-02 106 views
0

有沒有辦法讓我安排清除隊列消息任務。我想知道是否有一些腳本可以清除隊列消息。如果有腳本,我可以簡單地設置一個任務調度程序來定期清除隊列消息。 我的環境設置爲這樣。計劃清除隊列消息

.\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] 

所以我的意圖是去除毒隊列。 現在我手動清除它,所以現在我期待自動清除隊列消息

回答

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." 
    }