GithubHelp home page GithubHelp logo

hugopl / sidekiq.cr Goto Github PK

View Code? Open in Web Editor NEW
767.0 767.0 73.0 548 KB

Simple, efficient job processing for Crystal

Home Page: http://sidekiq.org

License: GNU Lesser General Public License v3.0

Crystal 57.27% Makefile 0.33% Ruby 0.99% CSS 17.21% HTML 12.14% JavaScript 12.07%

sidekiq.cr's Introduction

Sidekiq.cr

Build Status

Sidekiq is a well-regarded background job framework for Ruby. Now we're bringing the awesomeness to Crystal, a Ruby-like language. Why? To give you options. Ruby is friendly and flexible but not terribly fast. Crystal is statically-typed, compiled and very fast but retains a similar syntax to Ruby.

Rough, initial benchmarks on macOS 10.14.5, ruby 2.7.2:

Runtime RSS Time Throughput
Sidekiq 6.2.0 55MB 16.4 6,100 jobs/sec
Sidekiq 6.2.0/hiredis 49MB 13.0 7,900 jobs/sec
Crystal 0.35.1 15MB 3.8 26,000 jobs/sec

If you have jobs which are CPU-intensive or require very high throughput, Crystal is an excellent alternative to native Ruby extensions. It compiles to a single executable so deployment is much easier than Ruby.

Getting Started

Please see the wiki for in-depth documentation and how to get started using Sidekiq.cr in your own app.

Support

Sidekiq.cr is community-supported and not commercially supported by @mperham and Contributed Systems. General maintenance and bug fixes are always welcomed.

Help wanted

See the issues for chores and other ideas to help.

Things that do not exist and probably won't ever:

  • Support for daemonization, pidfiles, log rotation - use Upstart/Systemd
  • Delayed extensions - too dynamic for Crystal

The Ruby and Crystal versions of Sidekiq must remain data compatible in Redis. Both versions should be able to create and process jobs from each other. Their APIs are not and should not be identical but rather idiomatic to their respective languages.

Naming

Sidekiq is a registered trademark of Contributed Systems who has granted use of the name to this project.

Thanks

Originally developed by Mike Perham, http://www.mikeperham.com. Maintained by Hugo Parente Lima.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.