見出し画像

1/23.log

log

今日は午前中に就活の調べ物、準備をしていました。終了後は午後も含めてずっとプログラミングをしていました。

今日は少し難しいことをしていました。まずメール送信専用のコマンドを作成してそのメール送信コマンド、昨日作成したエンジニアの能力判定コマンドを組み合わせたジョブを作成していました。今回ジョブに関してはタスクが空いている場合はすぐに実行したかったためスケジューラー(バッチ処理)ではなくキューを採用しました。またキューを保存するDBに関して今回はRedisを採用しました。

キューの作成方法自体はそこまで難しいものではなかったですね。

ジョブの作成前から既にコマンド同士をどのように繋げるか考えていたつもりだったのですが改めてみてみるとまだ少し引数が多かったりしたので既存の関数の引数ややるべきことを調整しました。

これによって自分が作成したジョブ2つに関してもそれぞれレコードのidのみを引数として受け取るだけで処理を実行できるようにしました。実はこれによってもう一つ嬉しいことがあってそれぞれの関数に関してお互いの関数同士で依存しなくなりました!今はどちらもDBに依存しています。今まではエンジニアの評価コマンドの結果(オブジェクト)をメール送信コマンドの引数に渡す必要がありました。

さらにもう一つ付け加えると両方のコマンドの引数がidのみでエンジニアの評価コマンドはDBに結果を格納、メール送信コマンドはレコードを参照してメール送信でどちらも返り値が必要なくなりました!返り値がなくなるとコードも簡潔になりますね!今日作成したジョブに関してもコマンドを2つを実行するだけでジョブの実行関数のみで言えば2行ですみました!

どうしても具体的なコードを示していないのでイメージは掴みにくいとは思いますが、、、これももう少し具体化してどのようにすればジョブを組むことができるか、キューを実行できるかをまた記事にしたいと思います!


この記事が気に入ったらサポートをしてみませんか?