Develop with pleasure!

福岡でCloudとかBlockchainとか。

AP4RのデプロイをCapistranoで行う。

Rubyの非同期メッセージングライブラリAP4R。このAP4Rの起動/停止もCapistranoでやってみた。

最初は自分でCapistranoのタスクを定義しないといけない?と思ってたけど、0.3.4からCapistranoのレシピが追加されてた。lib/ap4r/recipes.rbにAP4Rの操作系のタスクが用意されてる。

なので、Capistranoのdeploy.rbでは

#AP4RのCapistranoタスクをロード
require "ap4r/recipes"

# 対象サーバの指定
role :ap4r, "hoge.jp"

# キューの設定ファイルの場所を指定
set :ap4r_conf, "config/queues_mysql.cfg"


と指定すればOK。あとは通常のCapistranoの設定で良いはず。

この状態で、cap -Tすると

$ cap -T
cap ap4r                 # Deploys your project.
cap ap4r:cold            # Deploys and starts a "cold" application.
cap ap4r:restart         # AP4R.
cap ap4r:rollback        # Rolls back to a previous version and restarts.
cap ap4r:setup           # Setups your project space.
cap ap4r:start           # Start AP4R process on the ap4r server.
cap ap4r:stop            # Stop the AP4R process on the ap4r server.
cap ap4r:update          # Updates your code from repository and makes symlin...
...


と、Capistranoタスクが追加されてるのが分かる。