skillup

技術ブログ

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

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

投稿日:

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

MariaDBインストール

CentOS7からはyumでmysqlをインストールするとMariaDBがディフォルトになるようです。 せっかくなので、これを機にMariaDBを使ってみました。といってもMySQLとほとんど一緒でし …

no image

form以外でのPOST送信(というかHTTP通信全般)

前回の記事に引き続きですが、APIを叩く側はformでデータを送るのではなく、コードの中にPOSTする処理を書きます。 選択肢としては curlコマンドを使う file_get_contentsを使う …

no image

phpQueryを使ったスクレイピングに関して

以前、スクレイピングに関してはこのエントリーでも紹介したとおり、phpに標準で入っているDOMDocumentを使う方法が一番楽です。 ところがデータによってはXMLで解析するため目的とする要素を取得 …

no image

正規表現(/を含むとき)

PHPの正規表現ですが、判定する文字列の中にスラッシュが入っている時の処理はデリミタを//ではなく{}でくくればOKです。 例えば数字2桁/数字1桁をチェックしたいとき [crayon-5d3055f …

no image

25番ポートブロッキング

ほぼ一般常識に属するようなことを知らなかったため、メモ。 先日メールアカウントを開設した際に自分の環境では送信できるのに、他人の環境では送信できないということが発生しました。 最初はoutlookの設 …