sqew 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +19 -6
- data/lib/sqew/version.rb +1 -1
- data/sqew.gemspec +2 -2
- metadata +2 -2
data/README.md
CHANGED
@@ -1,22 +1,23 @@
|
|
1
1
|
# sqew (pronounced "skew")
|
2
2
|
|
3
|
-
sqew is a lightweight background processor. You start a single process that will act as a queue manager and will work multiple jobs concurrently. sqew is short for "small queue" and is not meant to be an all-in-one scalable solution. sqew adopts a
|
3
|
+
sqew is a lightweight background processor. You start a single process that will act as a queue manager and will work multiple jobs concurrently. sqew is short for "small queue" and is not meant to be an all-in-one scalable solution. sqew adopts a common enqueuing API found in other projects to make migrating to other background processors easy.
|
4
|
+
|
5
|
+
<a href="http://www.flickr.com/photos/adriannier/5367065485/"><img src="https://github.com/zmoazeni/sqew/raw/master/skewed-pole.jpg" alt="A skewed photograph by http://www.flickr.com/photos/adriannier/5367065485/" /></a>
|
6
|
+
|
7
|
+
(image by http://www.flickr.com/photos/adriannier/5367065485/ )
|
4
8
|
|
5
9
|
## When would sqew be a good fit for my project?
|
6
10
|
|
7
11
|
* You don't need to split workers across multiple machines.
|
8
12
|
* You don't want to manage multiple background worker processes, but you do want multiple jobs to run concurrently.
|
13
|
+
* You don't want to manage an external service like Redis or Mongo to store the queue.
|
9
14
|
* You don't want to worry about threading issues.
|
10
|
-
* You don't want to worry about long running processes memory
|
15
|
+
* You don't want to worry about long running processes leaking memory.
|
11
16
|
* You don't care about the enqueueing or job forking performance.
|
12
17
|
* You don't need multiple queues (this may change soon).
|
13
18
|
|
14
19
|
If these don't fit the bill or you need more power, I recommend you try the great other great gems such as [Resque](https://github.com/defunkt/resque), [Sidekiq](https://github.com/mperham/sidekiq), and [Qu](https://github.com/bkeepers/qu).
|
15
20
|
|
16
|
-
## Is it any good?
|
17
|
-
|
18
|
-
[Yes.](http://news.ycombinator.com/item?id=3067434)
|
19
|
-
|
20
21
|
## Rails Installation
|
21
22
|
|
22
23
|
Add this line to your application's Gemfile:
|
@@ -101,10 +102,22 @@ If you're using Rails 4 you can enqueue the job by using the Rails queuing API:
|
|
101
102
|
|
102
103
|
Rails.queue.push(MyJob, 1, 2)
|
103
104
|
|
105
|
+
## Is it any good?
|
106
|
+
|
107
|
+
[Yes.](http://news.ycombinator.com/item?id=3067434)
|
108
|
+
|
109
|
+
## Where does sqew store its data?
|
110
|
+
|
111
|
+
Sqew doesn't use redis or your rails database. It uses [LevelDB](http://code.google.com/p/leveldb/) to manage its persistence. So you don't have to manage/setup anything.
|
112
|
+
|
113
|
+
## Does it work on windows?
|
114
|
+
|
115
|
+
No. It uses [forking](http://en.wikipedia.org/wiki/Fork_(operating_system\)) heavily.
|
104
116
|
|
105
117
|
## TODO Soon
|
106
118
|
|
107
119
|
* Reusable God/Bluepil/Monit config for managing the worker
|
120
|
+
* Capistrano plugin for restarting the worker on deploy
|
108
121
|
* Javascript browser front-end for the manager
|
109
122
|
* Multiple queues with weight (possibly)
|
110
123
|
|
data/lib/sqew/version.rb
CHANGED
data/sqew.gemspec
CHANGED
@@ -9,9 +9,9 @@ Gem::Specification.new do |gem|
|
|
9
9
|
|
10
10
|
sqew is not meant to be an all encompassing scalable solution. If you need more management over worker processes or need to split it among multiple machines, it's recommend to use other background processors such as resque, sidekiq, and qu"
|
11
11
|
|
12
|
-
gem.homepage = "
|
12
|
+
gem.homepage = "http://zmoazeni.github.com/sqew/"
|
13
13
|
|
14
|
-
gem.files = `git ls-files`.split($\)
|
14
|
+
gem.files = `git ls-files`.split($\) - %w(skewed-pole.jpg)
|
15
15
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
16
16
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
17
17
|
gem.name = "sqew"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sqew
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -205,7 +205,7 @@ files:
|
|
205
205
|
- spec/support/jobs.rb
|
206
206
|
- spec/tmp/.gitkeep
|
207
207
|
- sqew.gemspec
|
208
|
-
homepage:
|
208
|
+
homepage: http://zmoazeni.github.com/sqew/
|
209
209
|
licenses: []
|
210
210
|
post_install_message:
|
211
211
|
rdoc_options: []
|