rask 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +44 -8
- data/lib/rask.rb +13 -1
- metadata +2 -2
data/README.rdoc
CHANGED
@@ -2,6 +2,9 @@
|
|
2
2
|
|
3
3
|
* http://github.com/mewlist/Rask
|
4
4
|
|
5
|
+
= English Document
|
6
|
+
* http://mewlist.com/softwares/rask/doc/index.html
|
7
|
+
|
5
8
|
== DESCRIPTION:
|
6
9
|
|
7
10
|
Rask を使うと、タスク処理をシンプルに記述できます。
|
@@ -28,6 +31,39 @@
|
|
28
31
|
* タスクのグルーピング
|
29
32
|
* ユーザー毎にタスクを分けて管理したりとか、ブラウザゲーム用途でも使える。
|
30
33
|
|
34
|
+
== INSTALL:
|
35
|
+
|
36
|
+
gem install rask
|
37
|
+
|
38
|
+
== INSTALL for Ruby On Rails Plugin:
|
39
|
+
|
40
|
+
Rails のプラグインとしてインストールすると、
|
41
|
+
バックグラウンドタスクジェネレータが利用できるようになります。
|
42
|
+
|
43
|
+
script/plugin install git://github.com/mewlist/Rask.git
|
44
|
+
|
45
|
+
* タスクジェネレータ (generator)
|
46
|
+
* タスクは、lib/rask 以下に雛形が生成されます
|
47
|
+
|
48
|
+
script/generate rask test
|
49
|
+
create lib/rask/
|
50
|
+
create script/rask/
|
51
|
+
create lib/rask/test_task.rb
|
52
|
+
create script/rask/test_task.rb
|
53
|
+
|
54
|
+
|
55
|
+
* タスク起動スクリプト
|
56
|
+
|
57
|
+
script/runner script/rask/test_task.rb start # デーモンの起動
|
58
|
+
script/runner script/rask/test_task.rb restart # 再起動
|
59
|
+
script/runner script/rask/test_task.rb stop # 停止
|
60
|
+
|
61
|
+
Rails のフレームワークとコードを共通化したタスクの管理が行えるようになるので、
|
62
|
+
ActiveRecord の構文が組み込めます。
|
63
|
+
|
64
|
+
注意点としては、タスク内で使用しているモデルのコードが変更された場合は、
|
65
|
+
デーモンで読み込まれている実行コードとの不整合が生じるので、タスクを再起動してください。
|
66
|
+
|
31
67
|
== SYNOPSIS:
|
32
68
|
|
33
69
|
* サンプルコード (samples/test.rb)
|
@@ -109,19 +145,19 @@ kill -TERM されたプロセスは、そのタスクのステートマシンの
|
|
109
145
|
ruby1.8.7で作ってる
|
110
146
|
|
111
147
|
== Changelog
|
148
|
+
* v0.0.4
|
149
|
+
* Integration for Ruby On Rails
|
150
|
+
* rails のジェネレータ化、プラグイン化コードの統合
|
151
|
+
* v0.0.3
|
152
|
+
* read メソッドで取得したインスタンスの実行制限処理
|
153
|
+
* 英語ドキュメントの追加(/doc)
|
112
154
|
* v0.0.0
|
113
155
|
* 作ってみた
|
114
|
-
* v0.0.1
|
115
|
-
* 方向性をはっきりさせた
|
116
156
|
* v0.0.2
|
117
157
|
* グループ化、安全なプロセス中断処理追加
|
118
|
-
* v0.0.
|
119
|
-
*
|
120
|
-
* 英語ドキュメントの追加(/doc)
|
121
|
-
|
122
|
-
== INSTALL:
|
158
|
+
* v0.0.1
|
159
|
+
* 方向性をはっきりさせた
|
123
160
|
|
124
|
-
gem install rask
|
125
161
|
|
126
162
|
== LICENSE:
|
127
163
|
|
data/lib/rask.rb
CHANGED
@@ -136,6 +136,7 @@ module Rask
|
|
136
136
|
@@queue = Queue.new
|
137
137
|
@@processing = []
|
138
138
|
@@locker = Mutex::new
|
139
|
+
@@process_name = nil
|
139
140
|
|
140
141
|
#
|
141
142
|
# === Set base storage directory
|
@@ -153,6 +154,14 @@ module Rask
|
|
153
154
|
@@thread_max_count = count
|
154
155
|
end
|
155
156
|
|
157
|
+
#
|
158
|
+
# === Set process name manually
|
159
|
+
# default :: $0
|
160
|
+
#
|
161
|
+
def self.process_name=(name)
|
162
|
+
@@process_name = name
|
163
|
+
end
|
164
|
+
|
156
165
|
#
|
157
166
|
def self.task_path(task_id)
|
158
167
|
@@base_dir+"/#{task_id}.task"
|
@@ -160,7 +169,8 @@ module Rask
|
|
160
169
|
|
161
170
|
#
|
162
171
|
def self.pid_path
|
163
|
-
@@base_dir+"/#{File.basename($0)}.pid"
|
172
|
+
return @@base_dir+"/#{File.basename($0)}.pid" if @@process_name==nil
|
173
|
+
@@base_dir+"/#{@@process_name}.pid"
|
164
174
|
end
|
165
175
|
|
166
176
|
#
|
@@ -262,6 +272,8 @@ module Rask
|
|
262
272
|
print "daemon start\n"
|
263
273
|
exit if fork
|
264
274
|
Process.setsid
|
275
|
+
|
276
|
+
initialize_storage
|
265
277
|
if File.exist? pid_path
|
266
278
|
print "already running rask process. #{File.basename($0)}"
|
267
279
|
return
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rask
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mewlist / Hidenori Doi
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-02
|
12
|
+
date: 2010-03-02 00:00:00 +09:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|