首页 > 解决方案 > 如何同时运行多个 dotnet run 命令

问题描述

我是 RabbitMQ 的新手,在本教程工作队列中学习,而不是在运行相同控制台应用程序的更多/两个终端上找到示例:

# shell 3
cd NewTask
dotnet run "First message."
dotnet run "Second message.."
dotnet run "Third message..."
dotnet run "Fourth message...."
dotnet run "Fifth message....."

当我尝试按照说明进行操作时,我得到了这个:

user@computer  ~\Documents\c#\console-app\RabbitMQGetStarted\NewTask                                                              [11:24]
❯ dotnet run "First message."
 [x] Sent First message.
 Press [enter] to exit.

user@computer  ~\Documents\c#\console-app\RabbitMQGetStarted\NewTask                                                              [11:24]
❯ dotnet run "Second message.."
 [x] Sent Second message..
 Press [enter] to exit.

user@computer  ~\Documents\c#\console-app\RabbitMQGetStarted\NewTask                                                              [11:24]
❯ dotnet run "Third message..."
 [x] Sent Third message...
 Press [enter] to exit.

user@computer  ~\Documents\c#\console-app\RabbitMQGetStarted\NewTask                                                              [11:24]
❯ dotnet run "Fourth message...."
 [x] Sent Fourth message....
 Press [enter] to exit.

user@computer  ~\Documents\c#\console-app\RabbitMQGetStarted\NewTask                                                              [11:24]
❯ dotnet run "Fifth message....."
 [x] Sent Fifth message.....
 Press [enter] to exit.
# pwshl 1
user@computer  ~\Documents\c#\console-app\RabbitMQGetStarted\Worker                                                               [11:18]
❯ dotnet run
 [*] Waiting for messages. To exit press CTRL+C
 [x] Received First message.
 [x] Done
 [x] Received Fifth message.....
 [x] Done
 [x] Received First message.
 [x] Done
 [x] Received Fifth message.....
 [x] Done

# pwshl 2
user@computer  ~\Documents\c#\console-app\RabbitMQGetStarted\Worker                                                               [20:34]
❯ dotnet run
 [*] Waiting for messages. To exit press CTRL+C
 [x] Received Second message..
 [x] Done
 [x] Received First message.
 [x] Done
 [x] Received Second message..
 [x] Done

# pwshl 3
user@computer  ~\Documents\c#\console-app\RabbitMQGetStarted\Worker                                                               [11:21]
❯ dotnet run
 [*] Waiting for messages. To exit press CTRL+C
 [x] Received Fourth message....
 [x] Done
 [x] Received Third message...
 [x] Done
 [x] Received Fourth message....
 [x] Done

这与这些不同:

# shell 1
cd Worker
dotnet run
# => [*] Waiting for messages. To exit press CTRL+C
# shell 2
cd Worker
dotnet run
# => [*] Waiting for messages. To exit press CTRL+C

在第三个中,我们将发布新任务。启动消费者后,您可以发布一些消息:

# shell 3
cd NewTask
dotnet run "First message."
dotnet run "Second message.."
dotnet run "Third message..."
dotnet run "Fourth message...."
dotnet run "Fifth message....."
Let's see what is delivered to our workers:

# shell 1
# => [*] Waiting for messages. To exit press CTRL+C
# => [x] Received 'First message.'
# => [x] Received 'Third message...'
# => [x] Received 'Fifth message.....'
# shell 2
# => [*] Waiting for messages. To exit press CTRL+C
# => [x] Received 'Second message..'
# => [x] Received 'Fourth message....'

问题是如何dotnet run像示例一样运行多个?
我使用 Windows 10 + powershell

标签: c#.net.net-corerabbitmq

解决方案


推荐阅读