skillup

技術ブログ

PHP サーバー・ネットワーク

SQSのキュー登録とworkコマンドに関して

投稿日:2019年7月14日 更新日:

SQSでのキューの登録に関して以前やりましたが、再度扱うことがあったので、調査を。

リンク

SQSについて

Queueの登録と実際の処理に関して

キューの登録

実際の登録で以前はテストと言うこともあり、route.phpで下記の用に書きましたが、実際にこんな書き方をすることはあまりありませんね。

Controlleに下記の用に書いてJobを呼び出すことが一般的かと思われます。

app\Http\Controller\TestController.php

おそらくdispatchの内部でQueueへの登録が起こっているのだと思われます。

app/Jobs/DispatchJobs.php

あとはControllerのメソッドに直接アクセスすればOKです。

一度Job自体をUnitテストで呼び出そうとしたのですが、

なるエラーが出てしまいました。

ライブラリの依存関係か?とも思いましたが、上記の用にControllerから動かすと大丈夫だったため、何らかの引数がControllerに入っていたり、Requestに依存しているのかもしれません。

キュー登録だけではなく、一般に非同期でのタスク登録などをすることをdispatch(ディスパッチ)などと言うようです。一般的には時間差をつけて登録することも一般的なようです。

キューの監視

登録されたキューの監視です。

以前はこれだけで覚えていましたが、

リトライ数や常駐化、スリープ時間など様々な指定をしたいときには下記の用に指定することができます。

実際にはこのコマンド自体をsupervisordなのでデーモン化させる必要があるようです。

supervisorによるデーモン化

 

 

 

-PHP, サーバー・ネットワーク
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

laravel+vessel

現場のリーダー的な方に進められてVesselというDockerのインストールなどをサポートするツールを触ってみました。 特にlaravelのインストールなどに向いていますが、laravelでなくとも使 …

no image

LaravelでのAPI実装

Laravelで外部からAPI叩いてデータ入力みたいなことをしたかったのでこれを機に勉強。認証とかを通してないのでそのまま公開すると危険です・・(汗) 参考リンク [PHP] Laravel5.6で、 …

no image

cake3でのバッチスクリプト

以前、cakeでのバッチをこちらのエントリーで書きましたが、今回は3系でのバッチの書き方について。 といってもほとんど同じですが・・・ Contents1 ディレクトリ2 ソース ディレクトリ src …

no image

pidファイルに関して

サーバー上であるサービスを動いている(と思っている)時にstopしようとしたらpidファイルがありませんと怒られました。 pidファイルってよく聞くけどわかっていなかったのでこれを機にメモ。 Linu …

no image

CakePHPのcomponent

CakePHPのComponentについて。 CakePHPでは各コントローラに共通の処理をComponentとしてモジュール化することができます。 わかりやすいところでいえば認証のAuth,Sess …