我有办法安排清除队列消息任务吗?我想知道是否有一些脚本可以清除队列消息。如果有脚本,我可以简单地设置任务调度程序来定期清除队列消息。 我的环境设置如下。
.\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 :(得分: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."
}