8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Rails | Resque を動かす最小手順の使い方

Last updated at Posted at 2016-01-26

1. ジェムを追加する

素直に resque をインストールすれば良い。

rails_project/Gemfile
gem 'resque'
$ bundle install

2. 実行内容を書く

最終的にワーカーに実行させたい処理を、モデルの perform メソッドの中に書く。
ここではテストとして、標準出力するだけの処理を作る。

rails_project/app/models/example.rb
class Example
  @queue = :default

  def self.perform
    p 'Hello Sword!'
  end
end

3. ワーカー用の設定をおこなう

Rakefile に1行足すだけで良い。

rails_project/Rakefile
require 'resque/tasks'

4. ワーカーを立ち上げる

$ TERM_CHILD=1 QUEUES=* bundle exec rake environment resque:work

立ち上げても、今は何も起こらない。
なぜならジョブが登録されるまで、ワーカーは喋らないからだ。とりあえず放っておこう。

image

5. ジョブを登録する

ワーカーとは別タブ(別窓)でジョブを追加してみよう。
Rails のコンソールを使うのが手軽だ。

$ bundle exec rails console

irb(main)> Resque.enqueue(Example)

=> true

成功したら true が返ってくる。

6. ジョブが実行される

数秒経ってから、先ほどのワーカーのタブに戻ってみよう。
**「文字列を標準出力する」**というジョブが実行されているのが分かるだろう。

image

おめでとう!

前提

  • Rails プロジェクトは既に作成されていることとする。
  • bundler は既にインストールされていることとする。

環境

  • resque (1.25.2)
  • Rails 4.2.4

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

メンター受付

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?