Celery là phần mềm môi giới tin nhắn tốt nhất được sử dụng rộng rãi nhất

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.

Khám phá

Trong bài viết này, chúng tôi đã thảo luận về cần tây. Để tìm hiểu về phần mềm hàng đợi tin nhắn (MQ) khác, vui lòng truy cập các trang sau:

Sidekiq

Apache Kafka

Thỏ

Resque

NSQ

Top 5 phần mềm hàng đợi tin nhắn nguồn mở

 Tiếng Việt