文字数[1572文字] この記事は2分58秒で読めます.

npushに改善したい事はプシュ通知.追加した機能はこれ.

20241030

Logging

おはようございます.npushに改善したい事はプシュ通知.本日追加した機能はこれです.使わなくなったスケジュールを定期的に削除する機能です.コード的には3行ほどのコードなんだけど、そこまで手が回らなかった.アクセス数が頻繁にあるサイトは定期的に機能追加とかしているのだけど、npushは全然駄目で運営が軌道に乗るまでかなり時間がかかりそうです.

<?php

namespace App\Jobs;

use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Foundation\Queue\Queueable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use App\Models\ListItem;
use App\Models\TelevisionSchedule;
use DateTime;

class delDataJob implements ShouldQueue
{
    use Queueable;

    /**
     * Create a new job instance.
     */
    public function __construct()
    {
        //
    }

    /**
     * Execute the job.
     */
    public function handle(): void
    {
        //
        $datetime = new DateTime();
        ListItem::where('created_at','<=',$datetime->format('Y-m-d H:i:s'))->delete();
        TelevisionSchedule::where('end_time','<=',$datetime->format('Y-m-d H:i:s'))->delete();
    }
}

そもそもNHKを見る人はデジタル世代に少なそうということはこのサービスを作った時点で分かっていたのだけど、それでも作ったのは単なる自分が必要だっただけなんですね.ともあれ、もう運用しているので何とか軌道に乗せたいなって思いますが道は険しいです.このままではサービス停止もあり得ることなのかも.

最後に技術的なお話.Laravel11からスケジュール設定を書く場所が変更になりました.下記の場所にスケジュールを登録しないと動かないようですね.Laravel9からLaravel10、11と引き継いで来た場合は旧の階層で大丈夫そうです.

routes/console.php
<?php

use Illuminate\Foundation\Inspiring;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Schedule;
use App\Jobs\delDataJob;

Schedule::job(new delDataJob())->dailyAt('10:10');

明日へ続く

3185番目の投稿です/63 回表示されています.

著者名  @taoka_toshiaki

※この記事は著者が40代前半に書いたものです.

Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki

タグ

$datetime, construct, format, job, ListItem, lt, npush, routes, Schedule, TelevisionSchedule, use IlluminateContractsQueueShouldQueue, use IlluminateFoundationBusDispatchable, use IlluminateFoundationInspiring, use IlluminateFoundationQueueQueueable, use IlluminateQueueInteractsWithQueue, use IlluminateQueueSerializesModels, use IlluminateSupportFacadesArtisan, use IlluminateSupportFacadesSchedule, void, where,