{"id":28076814,"url":"https://github.com/jaredhanson/crane","last_synced_at":"2025-05-13T01:52:48.621Z","repository":{"id":2523920,"uuid":"3500167","full_name":"jaredhanson/crane","owner":"jaredhanson","description":"Diligent work queue for Node.js.","archived":false,"fork":false,"pushed_at":"2014-04-01T21:11:22.000Z","size":438,"stargazers_count":13,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-08-08T22:52:28.508Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jaredhanson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-02-21T02:55:40.000Z","updated_at":"2017-06-15T11:21:48.000Z","dependencies_parsed_at":"2022-09-15T02:00:50.956Z","dependency_job_id":null,"html_url":"https://github.com/jaredhanson/crane","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredhanson%2Fcrane","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredhanson%2Fcrane/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredhanson%2Fcrane/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredhanson%2Fcrane/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaredhanson","download_url":"https://codeload.github.com/jaredhanson/crane/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253856624,"owners_count":21974576,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-13T01:52:48.128Z","updated_at":"2025-05-13T01:52:48.613Z","avatar_url":"https://github.com/jaredhanson.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Crane\n\n[![Build](https://travis-ci.org/jaredhanson/crane.png)](https://travis-ci.org/jaredhanson/crane)\n[![Coverage](https://coveralls.io/repos/jaredhanson/crane/badge.png)](https://coveralls.io/r/jaredhanson/crane)\n[![Quality](https://codeclimate.com/github/jaredhanson/crane.png)](https://codeclimate.com/github/jaredhanson/crane)\n[![Dependencies](https://david-dm.org/jaredhanson/crane.png)](https://david-dm.org/jaredhanson/crane)\n[![Tips](http://img.shields.io/gittip/jaredhanson.png)](https://www.gittip.com/jaredhanson/)\n\n\nCrane is a [message queue](http://en.wikipedia.org/wiki/Message_queue)\nmiddleware layer for [Node](http://nodejs.org).  Applications can be constructed\nby using _middleware_ and defining _routes_.\n\nThis architecture has been proven effective by [Express](http://expressjs.com/),\nwhich provides HTTP middleware.  Crane adopts this approach, repurposing it\nfor use with message queues, allowing workers to be built quickly and easily,\nusing patterns familiar to Node.js developers.\n\n## Install\n\n    $ npm install crane\n    \n## Usage\n\n    var crane = require('crane');\n    var app = crane();\n    \n    app.work('tasks/email', function(msg, next) {\n      console.log('sending email to: ' + msg.body.to);\n      msg.ack();\n    });\n\n## Adapters\n\nAdapters are used to connect to message queues, receiving messages and\ndispatching those messages to the application for processing.\n\nThe following table lists commonly used strategies:\n\n|Adapter                                           |Developer                                       |\n|--------------------------------------------------|------------------------------------------------|\n|[AMQP](https://github.com/jaredhanson/crane-amqp) |[Jared Hanson](https://github.com/jaredhanson)  |\n\n## Tests\n\n    $ npm install\n    $ make test\n\n## Credits\n\n  - [Jared Hanson](http://github.com/jaredhanson)\n\n## License\n\n[The MIT License](http://opensource.org/licenses/MIT)\n\nCopyright (c) 2011-2014 Jared Hanson \u003c[http://jaredhanson.net/](http://jaredhanson.net/)\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredhanson%2Fcrane","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaredhanson%2Fcrane","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredhanson%2Fcrane/lists"}