Блоґ одного кібера

Історія хвороби контуженого інформаційним вибухом

Робота з чергами повідомлень MSMQ в PowerShell

with 8 comments

Інсталяція сервісу MSMQ

(1) Зайти в панель керування, (2) Programs and features, (3) натиснути Turn windows features on and off, (4) розкрити дерево до Microsoft Queue Message Server Core і увімкнути пункти “MSMQ HTTP Support” та “MSMQ Active Directory Domain Services Integration”, якщо ви в домені. (5) – Натиснути OK.

MSMQInstall

Операції

Перелічити черги:

Get-MsmqQueue | Select QueueName, MessageCount # дає деякі черги і кількість повідомлень
Get-WmiObject Win32_PerfFormattedData_msmq_MSMQQueue | Select Name, MessagesinQueue # дає трохи більше черг

Створити чергу:

$queue = New-MsmqQueue queue_name

Отримати існуючу чергу за іменем:

$queue = Get-MsmqQueue queue_name

Послати повідомлення в чергу $queue:

$msg = New-MsmqMessage "Hello world!"
Send-MsmqQueue -Name $queue.Path -MessageObject $msg

Послати тисячу повідомлень в чергу за 10000 секунд, при цьому відображаючи їх кількість в реальному часі:

function send_message($msg_text, $queue_name)
{
	$msg = New-MsmqMessage $msg_text
	$queue = Get-MsmqQueue $queue_name
	Send-MsmqQueue -Name $queue.Path -MessageObject $msg | Out-Null
	
	Clear-Host
	Get-MsmqQueue -Name $queue_name | Format-Table QueueName, MessageCount
	Start-Sleep -s 10
}
for($i=0; $i -le 1000; $i++) { send_message $i $queue_name }

Очистити чергу $queue від повідомлень:

Clear-MSMQQueue -InputObject $queue

Видалити чергу повідомлень $queue:

Remove-MSMQQueue -InputObject $queue

Посилання

Advertisements

Written by bunyk

Березень 26, 2014 at 17:50

Оприлюднено в Кодерство

Tagged with

Відповідей: 8

Subscribe to comments with RSS.

  1. Мені подобається напис під кнопками реблогів і лайків – “Будьте першим кому це сподобається.” Ні, дякую.

    alexyakushev

    Березень 26, 2014 at 18:19

    • Чого так тонко? Дивись як треба:

      Я ж програміст (c), значить можу робити все що завгодно. Навіть на PowerShell писати.

      А ти – гнуцист. Хайль Столлман! 😀

      bunyk

      Березень 26, 2014 at 18:25

      • Я не дійшов до написання на павершелі, зупинився на скріншоті вікна з якимось прапорцями.

        alexyakushev

        Березень 26, 2014 at 18:37

        • А, так, є в вінди така проблема. Я б цією фігнею не парився, якби наш менеджер не вимагав того що перед відправкою тестерам, код має працювати. 🙂 А іншого способу перевірити що моніторинг MSMQ працює, окрім увімкнути то, я не знаю.

          bunyk

          Березень 27, 2014 at 11:09

  2. powershell насправді рулить, це явно крок вперед порівняно з unix shell-ом
    ну і об’єктна модель COM і її теперішнє втілення, всяко крутіше від апі де текст передається між програмами, максимум byte stream

    UI того powershell-у трохи тупорилий, то правда.

    ya

    Березень 26, 2014 at 20:09

    • це не крок вперед, а крок в сторону.
      COM же must die, .NET зручніший

      danbst

      Березень 28, 2014 at 11:43

  3. Де політика ? Ти вже емігрував ?

    foldl

    Березень 27, 2014 at 22:40

  4. Не лишнім буде згадати, що перший скріншот знайомий усім, хто колись включав telnet на віндоусі.

    danbst

    Березень 28, 2014 at 11:40


Залишити відповідь

Заповніть поля нижче або авторизуйтесь клікнувши по іконці

Лого WordPress.com

Ви коментуєте, використовуючи свій обліковий запис WordPress.com. Log Out / Змінити )

Twitter picture

Ви коментуєте, використовуючи свій обліковий запис Twitter. Log Out / Змінити )

Facebook photo

Ви коментуєте, використовуючи свій обліковий запис Facebook. Log Out / Змінити )

Google+ photo

Ви коментуєте, використовуючи свій обліковий запис Google+. Log Out / Змінити )

З’єднання з %s

%d блогерам подобається це: