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.
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