Symfoware

Symfowareについての考察blog

FreeBSD 10.2にBeansTalkdをインストールする

メッセージキュー管理「beanstalkd」
http://kr.github.io/beanstalkd/

Debian 7にインストールしたことがあります。
メッセージキュー管理「beanstalkd」をDebian 7にapt-getでインストールする

今回、FreeBSD 10.2にインストールしてみます。



インストール



pkgコマンドでインストール出来ました。


# pkg install beanstalkd




/etc/rc.confに追記。


# vi /etc/rc.conf




起動許可を与えます。
合わせて、外部から接続したいので、ListenするIPとポートを「beanstalkd_flags」で指定します。
※これがわからず苦労しました。


beanstalkd_enable="YES"
beanstalkd_flags="-l 0.0.0.0 -p 11300"




serviceコマンドで起動できます。


# service beanstalkd start







接続テスト



接続はPHPで試してみました。
以前使用したライブラリを使います。
phpからbeanstalkdに「beanstalk」でジョブを投入、取得する


最新のソースを取得。


# wget --no-check-certificate https://raw.githubusercontent.com/davidpersson/beanstalk/master/src/Client.php




接続サンプルはこんな感じになりました。


  1. <?php
  2. require_once('Client.php');
  3. use Beanstalk\Client;
  4. // beanstalkdに接続
  5. $beanstalk = new Client(array('host'=>'192.168.1.102', 'port' => 11300));
  6. $beanstalk->connect();
  7. // --- データの登録
  8. // チューブに接続
  9. $beanstalk->useTube('test');
  10. // データを登録
  11. $beanstalk->put(
  12.     1, // Jobの優先度
  13.     0, // 即時実行するか
  14.     1, // Jobの実行時間(分)
  15.     'job-data' // Jobのデータ
  16. );
  17. // --- データの取り出し
  18. // testチューブを監視
  19. $beanstalk->watch('test');
  20. // ジョブの内容を取得&ロック
  21. $job = $beanstalk->reserve();
  22. // 取得できた内容を表示
  23. var_dump($job);
  24. // ジョブを処理したので削除
  25. $beanstalk->delete($job['id']);
  26. // 切断
  27. $beanstalk->disconnect();




phpコマンドで実行してみます。
ちゃんと外部から接続できるようですね。


$ php sample.php
array(2) {
["id"]=>
int(1)
["body"]=>
string(8) "job-data"
}




関連記事

テーマ:サーバ - ジャンル:コンピュータ

  1. 2015/10/24(土) 18:40:50|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<BeansTalkd ジョブの優先順位(priority)を変更する | ホーム | Windows FTPコマンド mgetでいちいち確認せず、全て「yes」で実行する(prompt)>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1807-370c2618
この記事にトラックバックする(FC2ブログユーザー)