Gần đây tôi đã biết về các kênh Django. Ai đó có thể cho tôi biết sự khác biệt giữa các kênh và cần tây. Và nơi sử dụng cần tây và kênh.Kênh Django khác với cần tây như thế nào?
Trả lời
Channels trong Django có nghĩa là xử lý yêu cầu không đồng bộ.
Mô hình chuẩn sử dụng Django là Request-Response nhưng có những hạn chế đáng kể. Chúng ta không thể làm gì ngoài những hạn chế của mô hình đó.
kênh đã về để cho phép hỗ trợ Web Socket và xây dựng các ứng dụng phức tạp xung quanh Web Sockets, để chúng ta có thể gửi nhiều tin nhắn, quản lý phiên vv
Celery là một điều hoàn toàn khác nhau, nó là một hàng đợi công việc không đồng bộ/hàng đợi công việc dựa trên việc truyền thông điệp được phân phối. Nó chủ yếu cho việc xếp hàng nhiệm vụ và lên lịch cho chúng chạy trong các khoảng thời gian cụ thể.
kênh một cách đơn giản được sử dụng khi bạn cần asynchronous data communication giống như một ứng dụng chat và Cần tây là dành cho nhiệm vụ lập kế hoạch và các sự kiện như một máy chủ cào trên web cho một loại tin tức trong khoảng thời gian cố định.
Kênh Django cung cấp cho django khả năng xử lý nhiều hơn chỉ các yêu cầu HTTP đơn giản, bao gồm cả Websockets và HTTP2. Hãy coi đây là giao tiếp song công 2 chiều xảy ra không đồng bộ Không có trình duyệt làm mới. Nhiều khách hàng có thể gửi và nhận dữ liệu qua websocket và các kênh django dàn dựng ví dụ liên lạc này, một cuộc trò chuyện nhóm với khách hàng đồng thời truy cập cùng một lúc. Bạn có thể đạt được quá trình xử lý nền của mã hoạt động lâu dài với mô hình cần tây đến một mức độ nhất định, nhưng việc áp dụng các kênh khác với kênh cần tây.
Cần tây là hàng đợi công việc không đồng bộ/hàng đợi công việc dựa trên việc truyền thông điệp được phân phối. Cũng như lập kế hoạch. Trong thuật ngữ leman, tôi muốn bắn và chạy một nhiệm vụ trong nền hoặc tôi muốn có một nhiệm vụ định kỳ cháy và chạy ở phía sau trên một khoảng thời gian thiết lập. Bạn cũng có thể bắn nhiệm vụ theo cách đồng bộ cũng như lửa và chờ cho đến khi hoàn thành và tiếp tục. Vì vậy, sự khác biệt chính là trong trường hợp sử dụng mà họ phục vụ và mục tiêu của các khuôn khổ
- 1. Cần tây với Django - triển khai
- 2. cần tây với nhiều phiên bản django
- 3. Cần tây so với djcelery
- 4. Django-Cần tây thanh tiến trình
- 5. Sách cho Django + Cần tây + ThỏMQ?
- 6. Làm thế nào để viết một công việc Upstart Ubuntu cho cần tây (django-cần tây) trong một virtualenv
- 7. Thử nghiệm đơn vị với django-cần tây?
- 8. django cần tây đánh bại DBAccessError
- 9. Django Cần tây ứng dụng - Không mô-đun tên lỗi cần tây
- 10. Cần tây không kết nối với Redis Broker (Django)
- 11. Cần tây tích hợp cần tây
- 12. Làm thế nào để lập trình tạo ra các mục cần thiết với cần tây và Django
- 13. SQS với cấu hình cần tây
- 14. Cần tây so với ProcessPoolExecutor/ThreadPoolExecutor
- 15. django cần tây chấm dứt subprocesses nhiệm vụ của
- 16. Cần tây Tắt
- 17. công tác nhà nước và django-cần tây
- 18. Cần tây truncates thông điệp log
- 19. cảnh báo django-cần tây về cài đặt.DEBUG
- 20. cần tây-django không thể tìm thấy cài đặt
- 21. Django-cần tây: Vượt qua yêu cầu Đối tượng với nhân viên
- 22. Django Cần tây socket.error: [Errno 111] Kết nối từ chối
- 23. Có thể sử dụng cần tây với ngôn ngữ lập trình khác không?
- 24. Làm thế nào để cấu hình kênh django?
- 25. Cần tây tương đương với một JoinableQueue
- 26. Lỗi kết nối người tiêu dùng với django và cần tây + rabbitmq?
- 27. Sử dụng cần tây làm daemon với nhiều ứng dụng django?
- 28. Cần tây và tín hiệu
- 29. Làm thế nào để đảm bảo gửi tin nhắn với cần tây?
- 30. Nhiệm vụ nền cần tây Heroku
Kênh Django hỗ trợ xử lý nền. Tôi nghĩ rằng câu hỏi là nhiều hơn, cách xử lý nền kênh django khác với công nhân cần tây. – therealsachin
Bạn nói "Cần tây là một điều hoàn toàn khác". Tôi nghĩ từ quan điểm cấp cao, họ không hoàn toàn khác biệt. Chuyện gì xảy ra? Nhập, xử lý, xuất :-) Xem: https://en.wikipedia.org/wiki/IPO_model – guettli