Home > Blockchain >  task scheduling laravel get data from database
task scheduling laravel get data from database

Time:08-01

I'm new at this guys(Laravel) and I need to store my data collected from my DB each six hours. I thought of using laravel's task scheduling, but in the kernel where I'm supposed to create my cron job, I don't think that I can return my data as an array I use 6 arrays each one of them in a different page. Here is an exemple of one of them :

$dataGlobal = DB::select("select * from articles order by articleDate ASC");

PS: the code bellow is in my controller and I return the array with its view

Kernel.php

protected function schedule(Schedule $schedule)
{
    // $schedule->command('inspire')->hourly();
    $schedule->call(function(){
        DB::select("select * from articles order by articleDate ASC");
    })->cron('* */6 * * *');
}

Any ideas guys ? How can I store my data in an array where m going to use it in my pages (It's already working when I stop manually the project and relaunch it with php artisan serve)

CodePudding user response:

You can't return data from cron job.

I think what you need is:

Create cron job that collect data each 6 hours and store it on table to your database. so you could use that data from the table you have created.

CodePudding user response:

Since I solved my issue, I'm sharing it here if someone faced the same thing. Laravel is a PHP's Framework, and php is a scripting language. Each time a person naviguate through my site each row is executed at that time. By doing so, my array will always contain latest rows of my database. I don't really need a cron-job for this.

  • Related