rask 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/README.rdoc +44 -8
  2. data/lib/rask.rb +13 -1
  3. metadata +2 -2
@@ -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.3
119
- * read メソッドで取得したインスタンスの実行制限処理
120
- * 英語ドキュメントの追加(/doc)
121
-
122
- == INSTALL:
158
+ * v0.0.1
159
+ * 方向性をはっきりさせた
123
160
 
124
- gem install rask
125
161
 
126
162
  == LICENSE:
127
163
 
@@ -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.3
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-28 00:00:00 +09:00
12
+ date: 2010-03-02 00:00:00 +09:00
13
13
  default_executable:
14
14
  dependencies: []
15
15