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

ansible mysql,cronなど

Contents1 ansibleでのMySQlのインストール (CentOS6)2 ansibleのcronインストール3 任意のコマンド4 ansibleオプション ansibleでのMySQlの …

no image

Perlワンライナー他

Perlではcgiと連動してWEBアプリケーションを作るケースが多いですが、元々テキストの編集や置換が非常に便利です。 例えば、あるディレクトリにある特定のファイル名(正規表現使用可)だけを抽出する場 …

no image

crontab 確認方法

crontabが動かないときに確認すること。 Contents1 cron自体が動いているか(下記コマンドでログを確認)2 実行権限が正しいか3 プログラム内部のファイルパスが絶対パスになっているか4 …

no image

Addtypeについて

htmlにはPHPを埋め込むことができますが、拡張子がhtmlの場合、そのままでは実行できません。 この場合、通常では拡張子を変えなければいけないところですが、apacheを使っている場合、設定ファイ …

no image

Code4兄弟に関して(CodeCommit,CodeDeploy,CodeBuild,CodePipeline)

前回の記事で書いたCodeDeploy以外にもCI/CD絡みで色々と使用するサービスがあるので自分用にメモ。 Code兄弟なっていうようで・・・・ Contents1 各サービス1.1 CodeCom …

アーカイブ