• ブログTOP
  • AI・ディープラーニング
  • AR
  • VR
  • WEBサイト
  • WEBマーケティング
  • SEO
  • SNS
  • その他
  • お問い合わせ

ALAKI株式会社

COZIKEEいつまでも使えるTech情報発信ブログ

リクルートサイトはこちら >

Laravel5.6で、cron用バッチ処理を作成する方法

2018年9月27日

  • このエントリーをはてなブックマークに追加

こんにちは、Webプログラマの篠田です。

今日は、Laravel5.6で作成したプログラムをcronで実行するためのバッチプログラムを作成方法をご紹介します。

この記事の目次

  • 1 「artisan」でバッチ用スケルトンを作成する
  • 2 「artisan」コマンドとして登録しよう
  • 3 スケルトンファイルを設定しよう
  • 4 実際のプログラムは「handle」内に記述しよう
  • 5 まとめ

「artisan」でバッチ用スケルトンを作成する

Laravel5.6で、バッチ用スケルトンファイルを作成するコマンドは、下記のとおりです。

1
$ php artisan make:command [クラス名]

実行された「artisan」コマンドで、「[クラス名]」ファイルが自動的に作成されます。

作成されたファイルは「app/Console/Commands」ディレクトリに保存されます。

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
namespace App\Console\Commands;
 
use Illuminate\Console\Command;
 
class [クラス名] extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'command:name';
 
    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Command description';
 
    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }
 
    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        //
    }
}

これで、雛形となるクラスファイルが作成できました。

「artisan」コマンドとして登録しよう

クラスファイルを作成するだけでは、利用できません。

Laravelに、バッチ処理を認識させるための登録が必要になります。

登録するファイルは「app/Console/Kernel.php」になります。

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
 
namespace App\Console;
 
use Egulias\EmailValidator\Exception\CommaInDomain;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
 
class Kernel extends ConsoleKernel
{
    /**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    protected $commands = [
     Commands\[クラス名]::class,
    ];

追記場所は、配列「$commands」になります。

これで、コンソール内での実行準備が整いました。

スケルトンファイルを設定しよう

スケルトンファイルに、プログラムを書く前に初期設定を行っていきましょう。

実行コマンドを定義する

Laravelの「artisan」コマンドで、バッチ処理を実行する際に必要となる識別子を追記します。

設定は、「protected $signature」に行います。

初期値は「command:name」となっています。

例として、「set:test_cron」とします。

PHP
1
protected $signature = 'set:test_cron';

コロン区切りでグルーピング

「$signature」では「コロン」を使うことで、グルーピングをすることができます。

複数のバッチ処理を管理する際に、グルーピングが活躍しそうですね。

もちろん「コロン」を利用(グルーピング)しない記述も可能です。

コマンドの説明文を書こう

変数「$description」には、コマンドの説明文(description)を記入することを管理しやすくすることができます。

設定の仕方は下記のとおりです。

PHP
1
protected $description = "説明文説明文説明文説明文";

説明文は、「php artisan list」コマンドで確認することができます。

1
2
3
$ php artisan list
set:
  set:test_cron                   説明文説明文説明文説明文

プログラムの保守・運用を考えると、説明文がある方が迷わず保守・運用ができるようになるので、積極的に活用していきたいですね。

実際のプログラムは「handle」内に記述しよう

ここまでが、Laravelでバッチ処理を作成するための準備でした。

具体的な、バッチ処理のプログラムは「handle」メソッド内に記述します。

記述が終われば、バッチ処理の完成です。

あとは、cronで下記のコマンドを実行させましょう。

1
php artisan set:test_cron

まとめ

Laravelを利用して、バッチ処理も簡単に作成することができます。

この他にも、引数を利用した方法や、コンストラクタを利用した方法などがありますので、改めてご紹介できればと思います。

 


現場の業務フローに寄り添ったWebシステムをお求めなら、私たちALAKIにご相談ください。

ALAKIは経営者様が感じている問題点と、実際にWebシステムを利用される現場スタッフ様が直面している課題を、弊社システムエンジニアが丁寧に聞き取り、お客様と共にシステムを作り上げていきます。
業務改善が実現できるWebシステムをお求めの方は、是非ALAKIにご相談ください。

・ALAKIのWebシステム開発

・ALAKIのクラウド型受発注システム

  • ツイート
  • このエントリーをはてなブックマークに追加

You may also like...

  • PAK_PHPS9V9A6862_TP_V

    LaravelとTwigでアクティブページの判定をしよう!

    7 11月, 2018

  • 8542e99874865ca981e0a84b47a70cf5_m

    Ajax処理を実装しよう!(フロントエンド編)

    11 9月, 2017

  • 14800708_xl

    CLOUD FLAREでサブドメインをSSL化する方法

    10 8月, 2017

プログラマー募集
  • Next story LaravelとTwigでアクティブページの判定をしよう!
  • Previous story 8thWallが8thWallWebを発表!WebブラウザからでもマーカーレスARが体験可能に

弊社サービス

MONJI+ MUGHEN ALAKI クラウド型受発注システム さよなら過去のAR。WebARがイベント集客に革命を起こします。

運営会社

ALAKI株式会社 ALAKI株式会社採用サイト

人気の記事

  • alaki1462_A_businessman_who_works_logically_1da80a2e-c297-4911-bdd6-feba0ebf1357

    仕事術

    【書籍要約】数学的な仕事術大全

    4 11月, 2024

  • fv-main-img-min

    空間コンピューティング

    世界初!「空間コンピューティング」を専用端末不要、スマホのWebブラウザのみで実現する『Web XR Site』を公開しました

    22 6月, 2023

  • Virtual reality players isometric vector illustration. VR UI and navigation. Futuristic digital technology. Virtual screen. Mixed reality 3d concept. Person in VR headset. Web banner idea

    AR

    Appleから新世代MRグラス「Vision Pro」の登場 – デジタルと現実世界が融合する新時代へ

    6 6月, 2023

  • AWE

    未分類

    ARアプリ『MUGHEN』が世界最大のAR/VRアワード「AWE」のファイナリストに選出されました!

    26 5月, 2023

  • python-logo-master-v3-TM

    pyhotn / 業務効率化

    「SwinIR」で高画質化した画像を pythonを使用して一括で元のサイズに戻す方法

    2 2月, 2023

カテゴリー

  • AI・ディープラーニング
  • AR
  • BtoB
  • CMS
  • Git
  • Google AdWords
  • gulp
  • Javascript
  • Laravel
  • Photoshop
  • Pug
  • pyhotn
  • Sass
  • SEO
  • SNS
  • Twitter広告
  • VR
  • Web3.0
  • WEBサイト
  • WEBマーケティング
  • YouTube
  • コーディング
  • システム開発
  • スマートフォンサイト
  • セキュリティ
  • セミナー
  • その他
  • ツール
  • デザイン
  • ベトナムレポート
  • 仕事術
  • 未分類
  • 業務効率化
  • 空間コンピューティング
  • 色

アーカイブ

  • 2024年11月
  • 2023年6月
  • 2023年5月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年2月
  • 2021年12月
  • 2021年9月
  • 2021年7月
  • 2021年6月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年6月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月
  • 2018年1月
  • 2017年12月
  • 2017年11月
  • 2017年10月
  • 2017年9月
  • 2017年8月
  • 2017年7月
  • 2017年6月
  • 2017年4月
  • 2017年3月
  • 2017年2月
  • 2017年1月
  • 2016年12月
  • 2016年11月
  • 2016年10月
  • 2016年9月
  • 2016年8月
  • 2016年7月
  • 2016年6月
  • 2016年5月
  • 2016年4月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年11月
  • 2015年10月
  • 2015年9月
  • 2015年7月
  • 2015年3月
  • 2015年2月
  • 2015年1月
  • 2014年12月
  • 2014年11月
  • 2014年10月
  • 2014年9月
  • 2014年8月
  • 2014年7月
  • 2014年6月
  • 2013年10月
  • 2013年9月

Facebook

お問い合わせ

お問い合わせ

人気の記事

  • 【書籍要約】数学的な仕事術大全
  • 世界初!「空間コンピューティング」を専用端末不要、スマホのWebブラウザのみで実現する『Web XR Site』を公開しました
  • Appleから新世代MRグラス「Vision Pro」の登場 – デジタルと現実世界が融合する新時代へ
  • ARアプリ『MUGHEN』が世界最大のAR/VRアワード「AWE」のファイナリストに選出されました!
  • 「SwinIR」で高画質化した画像を pythonを使用して一括で元のサイズに戻す方法

カテゴリー

  • AI・ディープラーニング
  • AR
  • BtoB
  • CMS
  • Git
  • Google AdWords
  • gulp
  • Javascript
  • Laravel
  • Photoshop
  • Pug
  • pyhotn
  • Sass
  • SEO
  • SNS
  • Twitter広告
  • VR
  • Web3.0
  • WEBサイト
  • WEBマーケティング
  • YouTube
  • コーディング
  • システム開発
  • スマートフォンサイト
  • セキュリティ
  • セミナー
  • その他
  • ツール
  • デザイン
  • ベトナムレポート
  • 仕事術
  • 未分類
  • 業務効率化
  • 空間コンピューティング
  • 色

検索

ALAKI株式会社 © 2025. All Rights Reserved.