Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Create a Laravel notification via Slack when batch jobs are finished

arm4
March 02, 2019

Create a Laravel notification via Slack when batch jobs are finished

arm4

March 02, 2019
Tweet

More Decks by arm4

Other Decks in Programming

Transcript

  1. Laravelの
    バッチ処理終了を
    Slackでお知らせ
    する
    @plumsa

    View Slide

  2. 自己紹介
    株式会社プラムザ
    Tech Lead
    ハトヨウコ
    公式Twitter
    ララ・ベル子さんの中の人
    @plumsa
    2

    View Slide

  3. 動機
    関連するテーブルが
    22個もある
    テストデータをしょっちゅう生成する
    3

    View Slide

  4. Seeder流して
    他の作業しよう〜
    4

    View Slide

  5. 5
    20分ほどかかるの
    で、ほっとくと
    うっかり忘れてしまう。

    View Slide


  6. そうだ!
    Slackで通知されたらいいね
    6

    View Slide

  7. 開発環境
    ○ Laravel 5.7.20
    ○ PHP 7.2.7
    7

    View Slide

  8. 手順
    ○ Guzzleをインストール
    composer require guzzlehttp/guzzle
    ※Laravel 5.8の場合
    composer require
    laravel/slack-notification-channel
    ○ Notificationクラスの作成
    php artisan make:notification SlackPosted
    ○ Notificationクラス(SlackPosted)の実装
    ○ Slack通知サービスクラスを作成&実装
    ○ Seederを作成&実装
    php artisan make:seeder SampleSeeder
    8

    View Slide

  9. Notificationクラス(SlackPosted)の実装 9
    Slackに通知をする汎用的なNotificationクラスを
    実装する。

    View Slide

  10. Slack通知サービスクラスを作成&実装 10
    Seeder通知サービスクラス
    (SlackSeederNotificationService)を実装する

    View Slide

  11. Seederを作成&実装 11
    Seeder通知サービスクラスにSeeder名を渡して
    完了の通知を送ってもらう。

    View Slide

  12. できた!
    12

    View Slide

  13. Thanks!
    ご清聴ありがとうございました!
    13

    View Slide