rask 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
|