jondot/sneakers — 2.2k★ trên GitHub (Ruby). A fast background processing framework for Ruby and RabbitMQ
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
⚠️⚠️⚠️ Sneakers users have decided to continue with a new repo
and a new name: meet ruby-amqp/kicks.
Unfortunately, this repo was abandoned by its original author who has exclusive control
over the RubyGems project. So the community of users has decided to move it
to a different "fork" (continuation) under a new name.
What is Sneakers
__
,--' >
`=====
A high-performance RabbitMQ background processing framework for
Ruby.
Sneakers is being used in production for both I/O and CPU intensive workloads, and have achieved the goals of high-performance and 0-maintenance, as designed.
Installation
Add this line to your application's Gemfile:
gem 'sneakers'
And then execute:
$ bundle
Or install it yourself as:
$ gem install sneakers
Documentation
A quick start guide is available in the section below.
Visit the wiki for more detailed
documentation and GitHub releases for release
notes.
How do we add a worker? Firstly create a file and name it as boot.rb
then create a worker named as Processor.
touch boot.rb
require 'sneakers'
require 'redis'
require 'json'
$redis = Redis.new
class Processor
include Sneakers::Worker
from_queue :logs
def work(msg)
err = JSON.parse(msg)
if err["type"] == "error"
$redis.incr "processor:#{err["error"]}"
end
ack!
end
end
Let's test it out quickly from the command line:
$ sneakers work Processor --require boot.rb
We just told Sneakers to spawn a worker named Processor, but first --require a file that we dedicate to setting up environment, including workers and what-not.
If you go to your RabbitMQ admin now, you'll see a new queue named logs was created. Push a couple messages like below:
Which increments started and handled.ack, and times the work unit.
From here, you can continue over to the
Wiki
Docker
If you use Docker, there's some benefits to be had and you can use both
docker and docker-compose with this project, in order to run tests,
integration tests or a sample worker without setting up RabbitMQ or the
environment needed locally on your development box.
To build a container run docker build . -t sneakers_sneakers
To run non-integration tests within a docker container, run docker run --rm sneakers_sneakers:latest
To run full integration tests within a docker topology including RabbitMQ,
Redis (for integration worker) run scripts/local_integration, which will
use docker-compose to orchestrate the topology and the sneakers Docker image
to run the tests
To run a sample worker within Docker, try the TitleScraper example by
running script/local_worker. This will use docker-compose as well. It will
also help you get a feeling for how to run Sneakers in a Docker based
production environment
Use Dockerfile.slim instead of Dockerfile for production docker builds.
It generates a more compact image, while the "regular" Dockerfile generates
a fatter image - yet faster to iterate when developing
Compatibility
Sneakers main branch: Ruby 3.0+
Sneakers 2.7.x and later (using Bunny 2.9): Ruby 2.2.x
Sneakers 1.1.x and later (using Bunny 2.x): Ruby 2.x
Sneakers 1.x.x and earlier: Ruby 1.9.x, 2.x
Contributing
Fork, implement, add tests, pull request, get my everlasting thanks and a respectable place here :).
Thanks:
To all Sneakers Contributors - you make this happen, thanks!
Copyright
Copyright (c) 2015-2018 Dotan Nahum @jondot. See LICENSE for further details.
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/jondot/sneakers là nguồn chính thức.
jondot/sneakers có bao nhiêu sao?
jondot/sneakers có 2.2k sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/jondot/sneakers. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
jondot/sneakers có tag gì không?
Bản đồng bộ chưa ghi nhận topic GitHub nào cho jondot/sneakers. GitHub topics hiển thị ở thanh bên phải trang repo — đó là nơi đáng kiểm tra nhất.
jondot/sneakers còn đang phát triển không?
Commit gần nhất trên jondot/sneakers là 2.3 năm trước (theo timestamp GitHub). Repo có 319 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
jondot/sneakers viết bằng ngôn ngữ gì?
jondot/sneakers chủ yếu viết bằng Ruby. Trường "language" của GitHub dựa trên phần lớn byte ở nhánh mặc định.
Đọc đầy đủ README ở tab phía trên.
Vẫn đang phân vân về sneakers?
Một cú bấm sẽ gửi câu hỏi kèm trang này cho AI — xem AI nói gì về sneakers.