## 服务安装
```
sudo apt-get install rabbitmq-server
```
## 教程地址
```
https://www.xncoding.com/2017/05/08/mq/rabbitmq-tutorial02.html
```
## 启动服务
```
sudo rabbitmq-server
```
## 关闭服务
```
sudo rabbitmqctl stop
```
sudo apt-get install rabbitmq-server
```
## 教程地址
```
https://www.xncoding.com/2017/05/08/mq/rabbitmq-tutorial02.html
```
## 启动服务
```
sudo rabbitmq-server
```
## 关闭服务
```
sudo rabbitmqctl stop
```
new_task.py
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters(
host=
'localhost'))
channel = connection.channel()
channel.queue_declare(
queue=
'task_queue')
messages = [
'python new_task.py First message.',
'python new_task.py Second message..',
'python new_task.py Third message...',
'python new_task.py Fourth message....',
'python new_task.py Fifth message.....',
'python new_task.py Sixth message......']
for m
in messages:
channel.basic_publish(
exchange=
'',
routing_key=
'task_queue',
body=m,
properties=pika.BasicProperties(
delivery_mode=
2,
# make message persistent
))
print(
" [x] Sent
%r
" % m)
connection.close()
worker.py
import pika
import time
connection = pika.BlockingConnection(pika.ConnectionParameters(
host=
'localhost'))
channel = connection.channel()
channel.queue_declare(
queue=
'task_queue')
def
callback(
ch,
method,
properties,
body):
print(
" [x] Received
%r
" % body)
time.sleep(body.count(
b
'.'))
print(
" [x] Done")
ch.basic_ack(
delivery_tag = method.delivery_tag)
channel.basic_consume(callback,
queue=
'task_queue',
no_ack=
False)
print(
' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()