Celery Phần mềm hàng đợi tin nhắn miễn phí
Trình môi giới tin nhắn nguồn mở được triển khai rộng rãi nhất trên Python
Celery là một nhiệm vụ nguồn mở không đồng bộ hoặc hàng đợi công việc dựa trên hàng đợi tin nhắn phân tán. Nó cung cấp lịch trình hàng đợi tập trung vào các hoạt động thời gian thực.
Tổng quan
Celery là một hệ thống hàng đợi tin nhắn phân tán nguồn mở, linh hoạt và đáng tin cậy để xử lý một lượng lớn tin nhắn. Đây là một hàng đợi nhiệm vụ tập trung vào xử lý thời gian thực trong khi nó cũng hỗ trợ lập lịch nhiệm vụ. Celery được cấp phép theo giấy phép BSD. Celery có hàng đợi quá trình không đồng bộ đơn giản hoặc hàng đợi công việc dựa trên thông điệp phân tán. Các đơn vị thực thi hoặc các nhiệm vụ xử lý được thực hiện đồng thời trên một nút công nhân đơn hoặc nhiều bằng cách sử dụng đa xử lý, sự kiện hoặc Gevent. Nhiệm vụ cần tây chạy không đồng bộ trong nền hoặc đồng bộ. Phần mềm môi giới thông báo cần xe được viết bằng Python nhưng giao thức có thể được thực hiện bằng bất kỳ ngôn ngữ nào. Phần mềm Hàng đợi Tin nhắn Celery được sử dụng trong các hệ thống sản xuất như cho Instagram, để xử lý hàng triệu nhiệm vụ mỗi ngày. Nó cũng có thể hoạt động với các ngôn ngữ lập trình khác bằng webhooks. Có một máy khách PHP, máy khách GO, máy khách Node.js và Ruby-client có tên RCelery. Celery là một hàng đợi thông điệp nguồn mở với các ngôi sao 18,4K GitHub và 4.2k GitHub Fork.
Yêu cầu hệ thống
Celery là một gói Python tích hợp với Redis hoặc Rabbitmq. Celery phiên bản 5.1.2 chạy trên:
- Python v3.6+
- Django 2.2+
- Redis
- Git
Đặc trưng
Một số tính năng chính của Hàng đợi tin nhắn tốt nhất cần tây được liệt kê dưới đây:
- Lập kế hoạch
- Giám sát
- Tính khả dụng cao
- Tỷ lệ ngang
- Tự động tải
- Bảo vệ rò rỉ tài nguyên
- Quy trình làm việc
- Giới hạn thời gian và tỷ lệ
- Tự động hóa
- Thành phần người dùng
- Mã nguồn mở
Hướng dẫn cài đặt
Cài đặt cần tây trên Ubuntu
Celery Môi giới tin nhắn tốt nhất rất đơn giản và dễ dàng để bắt đầu phần mềm. Đầu tiên, đảm bảo rằng tất cả các gói phụ thuộc của cần tây được cài đặt và cập nhật. Dưới đây hướng dẫn bao gồm cài đặt cần tây trên Debian và Ubuntu bao gồm các bản phân phối dựa trên chúng. Vui lòng làm theo các hướng dẫn bên dưới để thiết lập cần tây. Cập nhật hệ thống của bạn bằng lệnh:
sudo apt update && sudo apt upgrade
Tiếp theo, cài đặt Celery bằng lệnh chạy:
pip install -U celery
Nếu bạn cài đặt RabbitMQ trên Ubuntu hoặc Debian thì hãy thực hiện lệnh này:
sudo apt-get install rabbitmq-server
Nếu bạn sử dụng Redis làm phần phụ trợ, vì vậy hãy đảm bảo bạn cài đặt Redis thông qua APT trên Ubuntu theo lệnh:
sudo apt-get install redis-server
Ngoài ra, cần tây định nghĩa một hoặc một nhóm các gói có thể được sử dụng để cài đặt cần tây và các phụ thuộc cần thiết với lệnh:
pip install "celery[librabbitmq]"
pip install "celery[librabbitmq,redis,auth,msgpack]"
Để biết danh sách đầy đủ các tùy chọn dòng lệnh, vui lòng chạy:
celery worker --help
celery --help
Đối với RabbitMQ, bạn có thể sử dụng AMQP: // Localhost hoặc Redis, bạn có thể sử dụng Redis: // LocalHost. Chúc mừng! Bạn đã cài đặt thành công dịch vụ xếp hàng cần tây trên Ubuntu. Thưởng thức!
FAQs
What is celery system?
Celery is a simple, flexible, and reliable distributed system to process vast amounts of messages, while providing operations with the tools required to maintain such a system. It’s a task queue with focus on real-time processing, while also supporting task scheduling.
Is celery open source?
Celery is an open source asynchronous task queue or job queue which is based on distributed message passing. While it supports scheduling, its focus is on operations in real time.
Who is using celery?
Who uses Celery? 433 companies reportedly use Celery open source message broker in their tech stacks, including Udemy, Robinhood, and Accenture.
What is the difference between celery and RabbitMQ?
Celery os distributed task queue. Celery is an asynchronous task queue or job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well; RabbitMQ is a messaging broker - an intermediary for messaging. RabbitMQ gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.
Does Instagram use celery?
Instagram uses celery technology as its primary task managing tool.