2013-04-22 30 views
8

Tôi muốn Celery xây dựng trên Redis thay vì mặc định là RabbitMQ.Cấu hình cần tây để nói chuyện với Redis qua ổ cắm Unix

Các Celery documentation giải thích:

Cấu hình rất dễ dàng, chỉ cần cấu hình vị trí của cơ sở dữ liệu Redis của bạn:

BROKER_URL = 'redis://localhost:6379/0'

đâu URL có định dạng của:

redis://:[email protected]:port/db_number

tất cả các trường sau khi lược đồ là tùy chọn và sẽ mặc định là localhost trên cổng 6379, sử dụng cơ sở dữ liệu 0.

Tuy nhiên, tôi đã thiết lập lại KHÔNG nghe cổng, nhưng thay vào đó để nghe một ổ cắm.

Có lược đồ URI để hỗ trợ điều này không?

+0

chỉ tò mò, whats vấn đề với redis không nghe một cổng địa phương? –

+0

Sau đó, cổng mở cho Internet ... – Oddthinking

+0

không đúng, bạn có thể liên kết redis thành 127.0.0.1 và chỉ truy cập được vào localhost hoặc bạn có thể tạo quy tắc tường lửa để hạn chế quyền truy cập chỉ vào một tập hợp địa chỉ ip. –

Trả lời

13

Ổ cắm đỏ có sẵn từ Celery 1.3. Cú pháp là:

BROKER_URL = 'redis+socket:///tmp/redis.sock' 

Nếu bạn muốn sử dụng một cơ sở dữ liệu cụ thể:

BROKER_URL = 'redis+socket:///tmp/redis.sock?virtual_host=1' 

Các tài liệu không được up-do-ngày, nhưng bạn có thể kiểm tra vấn đề này để biết thêm chi tiết:

+0

Còn url cho chương trình phụ trợ kết quả cần tây thì sao? –

1

Nhà môi giới cần tây đỏ không hỗ trợ kết nối socket, kết nối TCP là cách duy nhất được hỗ trợ tại thời điểm này.

Tôi đã tìm thấy dự án này, celery-redis-unixsocket trên github sau một số googling. Bạn có thể có một cái nhìn nếu điều đó làm việc cho bạn.

Các vấn đề liên quan