Rails/バッチ処理
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
&tag(Rails/バッチ処理);
*目次 [#p4b04cd2]
#contents
*関連ページ [#k5d005dc]
-[[Rails]]
*参考情報 [#b4238e61]
*基本 [#d2990786]
-lib/tasksの下にファイルを作成し、バッチ処理的な事を行わ...
-rails runnerで実行する。
*作成 [#p7ca8fc4]
-config/application.rbを編集し、autoload_pathsを設定して...
config.autoload_paths += %W(#{config.root}/lib) # 追加
-lib/tasks/hello_task.rbを作成する
#pre{{
class Tasks::HelloTask
def self.execute
print "Hello World!! env=#{Rails.env}\n"
end
end
}}
-実行する
bundle exec rails runner "Tasks::HelloTask.execute"
*パラメータを渡したい [#na9d04b7]
**方法1: パラメータを直接渡す [#dee93375]
-呼び出し側のシェルスクリプト。hello.shとして保存。引数を...
#pre{{
#!/bin/sh
str=""
for var in $*
do
if [ "$str" = "" ]; then
str="'${var}'"
else
str="${str}, '${var}'"
fi
done
bundle exec rails runner "Tasks::HelloTask.execute($str)"
}}
-タスク
#pre{{
class Tasks::HelloTask
def self.execute(*params)
print "Hello World!! env=#{Rails.env}\n"
p params
end
end
}}
-実行
#pre{{
$ ./hello.sh a b c
Hello World!! env=development
["a", "b", "c"]
}}
**方法2: runnerでスクリプトを呼び出す [#s7819bd9]
-runnerにはRubyのコードを文字列として渡せるほかスクリプト...
-[[rails runnerで起動するスクリプトにオプションを渡す - Q...
-呼び出し側のシェルスクリプト hello_parameter.shとして保...
#pre{{
#!/bin/sh
bundle exec rails runner lib/tasks/hello_task.rb a b c
}}
-タスク
#pre{{
class Tasks::HelloTask
def self.execute(*params)
print "Hello World!! env=#{Rails.env}\n"
p params
end
end
if $0 == __FILE__
Tasks::HelloTask.execute(*ARGV)
end
}}
-実行
#pre{{
./hello_parameter.sh
Hello World!! env=development
["a", "b", "c"]
}}
終了行:
&tag(Rails/バッチ処理);
*目次 [#p4b04cd2]
#contents
*関連ページ [#k5d005dc]
-[[Rails]]
*参考情報 [#b4238e61]
*基本 [#d2990786]
-lib/tasksの下にファイルを作成し、バッチ処理的な事を行わ...
-rails runnerで実行する。
*作成 [#p7ca8fc4]
-config/application.rbを編集し、autoload_pathsを設定して...
config.autoload_paths += %W(#{config.root}/lib) # 追加
-lib/tasks/hello_task.rbを作成する
#pre{{
class Tasks::HelloTask
def self.execute
print "Hello World!! env=#{Rails.env}\n"
end
end
}}
-実行する
bundle exec rails runner "Tasks::HelloTask.execute"
*パラメータを渡したい [#na9d04b7]
**方法1: パラメータを直接渡す [#dee93375]
-呼び出し側のシェルスクリプト。hello.shとして保存。引数を...
#pre{{
#!/bin/sh
str=""
for var in $*
do
if [ "$str" = "" ]; then
str="'${var}'"
else
str="${str}, '${var}'"
fi
done
bundle exec rails runner "Tasks::HelloTask.execute($str)"
}}
-タスク
#pre{{
class Tasks::HelloTask
def self.execute(*params)
print "Hello World!! env=#{Rails.env}\n"
p params
end
end
}}
-実行
#pre{{
$ ./hello.sh a b c
Hello World!! env=development
["a", "b", "c"]
}}
**方法2: runnerでスクリプトを呼び出す [#s7819bd9]
-runnerにはRubyのコードを文字列として渡せるほかスクリプト...
-[[rails runnerで起動するスクリプトにオプションを渡す - Q...
-呼び出し側のシェルスクリプト hello_parameter.shとして保...
#pre{{
#!/bin/sh
bundle exec rails runner lib/tasks/hello_task.rb a b c
}}
-タスク
#pre{{
class Tasks::HelloTask
def self.execute(*params)
print "Hello World!! env=#{Rails.env}\n"
p params
end
end
if $0 == __FILE__
Tasks::HelloTask.execute(*ARGV)
end
}}
-実行
#pre{{
./hello_parameter.sh
Hello World!! env=development
["a", "b", "c"]
}}
ページ名: