安排清除队列消息

时间:2017-03-02 08:11:21

标签: powershell command-line message-queue

我有办法安排清除队列消息任务吗?我想知道是否有一些脚本可以清除队列消息。如果有脚本,我可以简单地设置任务调度程序来定期清除队列消息。 我的环境设置如下。

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

所以我打算删除毒药队列。 现在我手动清除它,所以现在我正在寻找自动清除队列消息

1 个答案:

答案 0 :(得分: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."
    }