Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Celery cho phép thiết lập lại kết nối bởi ngang hàng

Tôi tìm thấy phần còn lại của Kết nối do lỗi ngang hàng và giả sử RabbitMQ không lắng nghe trên cổng hoặc có tường lửa chặn nó. Đó không phải là trường hợp.

Chạy RabbitMQ trên Ubuntu 16.04.2 LTS, phiên bản được cài đặt bởi apt:3.5.7-1ubuntu0.16.04.1

Đầu ra của 'netstat -a' cho cổng 5672 của Rabbit trông giống như sau:

$ netstat -a|grep -i amqp
tcp6       0      0 [::]:amqp               [::]:*                  LISTEN

Tuy nhiên, trên thực tế, Rabbit đã lắng nghe cả địa chỉ IPv4 và địa chỉ IPv6. Tôi đã xác minh điều này với netcat.

Để tiếp cận Rabbit từ một máy khác, bạn phải thiết lập một tài khoản người dùng với một cái gì đó giống như các lệnh sau:

sudo rabbitmqctl add_user celery celerypassword
sudo rabbitmqctl add_vhost celery_vhost
sudo rabbitmqctl set_user_tags celery celerytag
sudo rabbitmqctl set_permissions -p celery_vhost celery .* .* .*

Vấn đề là URL của tôi. Của tôi trông giống như:

BROKER_URL = 'amqp://celery:[email protected]//'

Sau dấu gạch chéo áp chót đó là tên của vhost. Ở trên, tôi đã đặt tên cho vhost của mình là celery_vhost. Để kết nối, tôi cần thay đổi URL thành:

BROKER_URL = 'amqp://celery:[email protected]/celery_vhost'

Tôi phát hiện ra điều này khi Rabbit đăng nhập / var / log / Rabbitmq. Có một tệp .log chứa lỗi sau khi tôi nhập sai URL:

{handshake_error,opening,0,
{amqp_error,access_refused,
"access to vhost '/' refused for user 'celery'",
'connection.open'}}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách tạo RedisCacheManager trong Spring-data 2.0.x

  2. Làm thế nào để bạn tìm kiếm các khóa có giá trị? Ví dụ:lấy tất cả các KEYS trong đó giá trị là một giá trị nào đó

  3. Bộ nhớ cách hiệu quả để lưu trữ số nguyên có dấu 32 bit trong Redis

  4. Cách lưu và truy xuất phiên từ Redis

  5. lưu trữ dữ liệu vào redis thông qua cron job