Job queue with MongoDB with emphasis on never losing any task even if worker fails hard (segfault).
- Ruby >= 1.9.2
- gem "mongo", "~> 1.3.1"
- gem "posix-spawn", "~> 0.3.6"
- 
Give Cyclop access to mongo: Cyclop.db = Mongo::Connection.new["database_name"]or with Replica-Sets Cyclop.db = Mongo::ReplSetConnection.new["database_name"]or if you're using MongoMapper: Cyclop.db = MongoMapper.databaseor if you're using Mongoid: Cyclop.db = Mongoid.database
- 
Queue a new task: Cyclop.push({ queue: :upload, job_params: { url: "http://example.com", }, })
- 
Queue a new task to process in 5 minutes, to retry 3 times in case of error with a 1 minute delay between each: Cyclop.push({ queue: :convert, job_params: { tmp_file: "/tmp/uploaded_file_32.png", }, delay: 300, retries: 3, splay: 60, })
- 
Get next job: Cyclop.next
- 
Get next job on specific queues: Cyclop.next :upload, :convert
- 
Get next job on specific queues for a specific host: Cyclop.next :upload, :convert, host: "tartarus.local"
- 
Get failed jobs (limit to 30): Cyclop.failed limit: 30
- 
Get failed jobs (skip first 10, limit to 30): Cyclop.failed skip: 10, limit: 30
- 
Requeue a failed job: job = Cyclop.failed.first job.requeue
- 
Start a worker: cyclop -c config.yml
- 
To get help about the format for config.yml cyclop -h
cyclop is Copyright © 2011 TalentBox SA. It is free software, and may be redistributed under the terms specified in the LICENSE file.
