{"adoption": {"forks": 289, "observed_at": "2026-08-28T04:06:16.830555+00:00", "stars": 2125}, "canonical_url": "https://ross.abutalabs.com/products/shoryuken", "card": {"archived": false, "artifact_type": "library", "description": "A super efficient Amazon SQS thread based message processor for Ruby.", "domain": ["backend", "web-development", "developer-tools", "cloud-computing"], "enriched": true, "function": ["message-queue", "middleware", "cli", "concurrency"], "health_score": 100, "homepage": null, "language": "Ruby", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["ruby-shoryuken/shoryuken"], "name": "ruby-shoryuken/shoryuken", "platform": ["ruby", "cli"], "pushed_at": "2026-08-25T07:42:04+00:00", "repo": "ruby-shoryuken/shoryuken", "stars": 2125, "tags": ["amazon-sqs", "activejob", "rails", "background-jobs", "aws", "worker", "long-polling", "batch-processing", "messaging", "web-server"], "topics": ["ruby", "shoryuken", "aws-sdk-ruby", "aws-sqs", "concurrent-ruby", "message-processor", "sqs-commands", "rails", "activejob"], "urls": [], "use_cases": ["process Amazon SQS messages in a Ruby application", "run background jobs with Rails Active Job backed by SQS", "consume SQS queues with configurable concurrency per queue", "batch process SQS messages efficiently", "manage and inspect SQS queues from the command line", "retry failed messages with exponential backoff", "load balance message processing across multiple queues"], "what_it_is": "Shoryuken is a super-efficient, thread-based message processor for Amazon SQS written in Ruby. It integrates with Rails Active Job and provides queue load balancing, per-queue concurrency, batch processing, and an SQS CLI.", "when_to_avoid": ["you use RabbitMQ, Kafka, or a non-SQS broker", "you need a process-based job system like Sidekiq with Redis", "your project is not in the Ruby ecosystem"], "when_to_choose": ["your Ruby or Rails app uses Amazon SQS as its message queue", "you need Active Job integration with SQS as the backend", "you want thread-based, high-throughput SQS consumption with batch support", "you need fine-grained control over per-queue concurrency and visibility timeouts"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/shoryuken", "repo": "ruby-shoryuken/shoryuken", "role": "main", "score": 93}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.830555+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:52:41.600283+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c960ea770bbdf49e0509c7dcf47802f8c336666d0f57b5e68bc3ae0e02a7e0d", "fetched_at": "2026-08-28T04:06:16.830555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruby-shoryuken/shoryuken"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.830555+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:52:41.600283+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c960ea770bbdf49e0509c7dcf47802f8c336666d0f57b5e68bc3ae0e02a7e0d", "fetched_at": "2026-08-28T04:06:16.830555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruby-shoryuken/shoryuken"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:52:41.600283+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c960ea770bbdf49e0509c7dcf47802f8c336666d0f57b5e68bc3ae0e02a7e0d", "fetched_at": "2026-08-28T04:06:16.830555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruby-shoryuken/shoryuken"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.830555+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.830555+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.830555+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:52:41.600283+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c960ea770bbdf49e0509c7dcf47802f8c336666d0f57b5e68bc3ae0e02a7e0d", "fetched_at": "2026-08-28T04:06:16.830555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruby-shoryuken/shoryuken"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.830555+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.830555+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:52:41.600283+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c960ea770bbdf49e0509c7dcf47802f8c336666d0f57b5e68bc3ae0e02a7e0d", "fetched_at": "2026-08-28T04:06:16.830555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruby-shoryuken/shoryuken"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.830555+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.830555+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.830555+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:52:41.600283+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c960ea770bbdf49e0509c7dcf47802f8c336666d0f57b5e68bc3ae0e02a7e0d", "fetched_at": "2026-08-28T04:06:16.830555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruby-shoryuken/shoryuken"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.830555+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.830555+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:52:41.600283+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c960ea770bbdf49e0509c7dcf47802f8c336666d0f57b5e68bc3ae0e02a7e0d", "fetched_at": "2026-08-28T04:06:16.830555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruby-shoryuken/shoryuken"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:52:41.600283+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c960ea770bbdf49e0509c7dcf47802f8c336666d0f57b5e68bc3ae0e02a7e0d", "fetched_at": "2026-08-28T04:06:16.830555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruby-shoryuken/shoryuken"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:52:41.600283+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c960ea770bbdf49e0509c7dcf47802f8c336666d0f57b5e68bc3ae0e02a7e0d", "fetched_at": "2026-08-28T04:06:16.830555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruby-shoryuken/shoryuken"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:52:41.600283+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3c960ea770bbdf49e0509c7dcf47802f8c336666d0f57b5e68bc3ae0e02a7e0d", "fetched_at": "2026-08-28T04:06:16.830555+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ruby-shoryuken/shoryuken"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 80}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4383, "days_push": 8, "days_rel": 54, "gap_med": 67, "n_releases_24m": 4}, "score": 93, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}