Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Seledri memberikan pengaturan ulang koneksi oleh rekan

Saya menemukan Connection rest by peer error, dan menganggap RabbitMQ tidak mendengarkan di port atau ada firewall yang memblokirnya. Bukan itu masalahnya.

Menjalankan RabbitMQ di Ubuntu 16.04.2 LTS, versi diinstal oleh apt:3.5.7-1ubuntu0.16.04.1

Output dari 'netstat -a' untuk port Rabbit 5672 tampak seperti:

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

Namun, Rabbit sebenarnya mendengarkan pada alamat IPv4 dan alamat IPv6. Saya memverifikasi ini dengan netcat.

Untuk menjangkau Rabbit dari komputer lain, Anda harus menyiapkan akun pengguna dengan perintah seperti berikut:

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 .* .* .*

Masalahnya adalah URL saya. Milik saya tampak seperti:

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

Setelah itu garis miring kedua dari belakang adalah nama vhost. Di atas, saya memberi vhost saya nama celery_vhost. Untuk terhubung, saya perlu mengubah URL menjadi:

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

Saya menemukan ini dengan melihat log Kelinci di /var/log/rabbitmq. Ada file .log yang berisi kesalahan berikut ketika saya salah 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. Aplikasi istirahat data pegas tidak mendapatkan data dari database setelah mengimplementasikan redis caching

  2. Apakah ada perintah di Redis untuk struktur data HASH yang mirip dengan MGET?

  3. Migrasi data dengan Redis

  4. Bagaimana cara memanggil fungsi setelah menyelesaikan fungsi async di dalam loop?

  5. Tidak dapat terhubung ke Redis dari Docker