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

call_user_funcについて

call_user_funcについて。 call_user_funcはメソッドを動的に呼ぶことができるメソッドの1つで、コールバック関数を使いたいときに使われます。JavaScriptでは比較的多いと …

no image

CentOS7の基本に関して

以前も学習しようとしましたが、CentOSの基礎について。 Contents1 デーモン2 ポートの割り当て3 systemdの役割 デーモン Linux上で動くサービスを提供をするプログラムのこと。 …

no image

MariaDBインストール

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

no image

cakePHPのajax

cakePHPのajaxですが、javascriptはいいとして、コントローラー側をどう実装するのか気になる方は多いでしょう。 cakeの画面は基本的にコントローラーにアクセスした後は通常はビューに遷 …

no image

サーバーの過負荷の発見 メモリ使用率の調査&抽出、置換(awk,sed)コマンドについて

前回、サーバーの負荷調査について記事を書いたので、それに関するスクリプトを。 Contents1 仕様2 ソース3 解説3.1 freeコマンド3.2 awk3.3 sed 仕様 日付とメモリ使用率、 …

アーカイブ