内容へ移動
alone-doc
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
バックリンク
メディアマネージャー
サイトマップ
ログイン
>
メディアマネージャー
サイトマップ
現在位置:
start
»
prog_worker
»
使ってみる
トレース:
prog_worker:使ってみる
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== 使ってみる ====== Workerは、常駐サーバー(デーモン)を作る時のフレームワークです。組み込みシステムなどにおいて起動時に常駐し、機器制御などを行うことを想定しています。 ここではサンプルとして、一秒ごとにランダム値をログに書き出すだけの機能をもったアプリケーションを作ります。 <code ruby server.rb> #!/usr/bin/env ruby require "al_worker" require "al_worker_timer" class Worker1 < AlWorker def initialize2() # 注意 initializeではなく、...2です。 @timer = Timer.periodic( 1 ) # every 1 sec. @timer.run() { log( "Random value #{rand(100)}" ) } end end worker1 = Worker1.new() worker1.daemon() </code> 必要なファイルをrequireし、AlWorkerクラスを継承してアプリケーションを作ります。 ===== 起動 ===== Aloneのライブラリをrequireできるように、-Iオプションでlib位置を指定して起動します。 <code sh> ruby -Ilib server.rb </code> 実行してもすぐコマンドに帰ってきたと思います。これで常駐して処理を続けています。psコマンドなどで確認してみましょう。 ps ax | grep "[r]uby" ファイルにも、きちんと1秒毎に値が書き込まれています。 tail -F /tmp/al_worker.log ===== 終了 ===== 終了は、プロセスにシグナルを送る一般的な方法です。デフォルトで、pidファイルができていますので、それを利用します。 <code sh> kill `cat /tmp/al_worker.pid` </code> 機能の詳細は、[[alworker:start]]の項をご覧ください。
prog_worker/使ってみる.txt
· 最終更新:
2026/06/17 14:04
by
hirohito
ページ用ツール
文書の表示
バックリンク
文書の先頭へ