• Stars
    star
    763
  • Rank 57,315 (Top 2 %)
  • Language
    Crystal
  • License
    GNU Lesser Genera...
  • Created almost 8 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Simple, efficient job processing for Crystal

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.

More Repositories

1

tijolo

Simple and fast keyboard focused IDE written in Crystal and GTK.
Crystal
132
star
2

gtk4.cr

GTK4 bindings for Crystal
Crystal
92
star
3

RubyCreator

Plugins to add Ruby language support to QtCreator IDE.
C++
44
star
4

fzy

A Crystal port of awesome Fzy project, a fuzzy finder algorithm.
Crystal
42
star
5

gi-crystal

Tool to generate Crystal bindings for gobject-based libraries (i.e. GTK)
Crystal
41
star
6

queryit

A very basic setupless terminal based SQL query runner meant to be used as a developer tool to test queries against a project database.
Crystal
22
star
7

rtfm

Gnome dash docset documentation reader written in Crystal
Crystal
21
star
8

reviewit

A git oriented review board for small/medium teams.
Ruby
19
star
9

textui

A simple Crystal UI framework for terminal interfaces.
Crystal
12
star
10

Meique

Meique is a simple build system for C and C++ which uses Lua as scripting language.
C++
10
star
11

Iceberg

Fork of Icemon, an Icecc monitor.
C++
8
star
12

version_from_shard

A macro to declare the VERSION constant from the value found in shard.yml, so you don't need to write the same version number in multiple places.
Crystal
8
star
13

crystal-tree-sitter

Crystal bindings for tree-sitter library
Crystal
8
star
14

invoicegenerator

Stupid script to create pdf invoices.
Ruby
6
star
15

http-status-code-manpages

Manpages for HTTP status codes.
Ruby
6
star
16

MeiqueQtCreatorPlugin

Build system plugin for QtCreator
C++
3
star
17

pg_query.cr

Crystal bindings for libpg_query.
Crystal
2
star
18

harfbuzz.cr

Crystal "bindings" for HarfBuzz library
Crystal
2
star
19

vte.cr

Crystal bindings for VTE library
Crystal
1
star
20

pango.cr

Crystal bindings for Pango library
Crystal
1
star