Help us understand the problem. What is going on with this article?

キュードライバにbeanstalkdを使用する

More than 5 years have passed since last update.

Laravelではキュードライバに下記3つを使用できる

  • Beanstalkd
  • Amazon SQS
  • IronMQ

それぞれ軽く調べてみた結果

  • Amazon SQS・・・なんかお金かかるっぽい
  • IronMQ・・・日本語のドキュメント無し(多分)

という都合によりBeanstalkdを使うことにした。

今回は、Beanstalkdを使う際、

  • 処理を永続化する
  • タスク状況を監視する

という実際キュードライバを使ってシステム運用するなら必要になるっぽい二つの設定とかを備忘録に。

Beanstalkdについて
とりあえずインストール

sudo yum install beanstalkd

処理の永続化
/etc/sysconfig/beanstalkd

#BEANSTALKD_BINLOG_DIR=/var/lib/beanstalkd/binlog

のコメントアウトを外す。

これだけでOk

この指定をすることでログにキューのタスク情報(曖昧)を書き込むようになる。
のでサーバ落ちたりしてもキューにジョブがたまっていた場合、続きから再開できる。

管理ツールの導入
じゃあそもそもキューがどうなっているかを管理できるインターフェースあったら便利だよねってことで調べたところ、いいものがありました。

  • beanstalk_console

https://github.com/ptrofimov/beanstalk_console

早速インストールしてみる

curl -s http://getcomposer.org/installer | php

composer.pharファイルができるので、実行

php composer.phar create-project ptrofimov/beanstalk_console -s dev path/to/install

これでツールがインストールされる。特に何も設定しなくても
http://localhost/作業ディレクトリ/path/public/index.php
にアクセスすると問題なく使えた。

キューがどんな感じかを知るなら下記記事が大変参考になる。
http://blog.ishinao.net/2013/07/05/28289/

サンプルを作ってジョブを登録→beanstalkdを停止させて再起動

みたいなことをすれば永続化のテストが割りと簡単にできる。

これでLaravelでキューを使うための準備は整った!・・・はず。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away