Hi can anyone help this code to split up 24 hrs
// as per my project today means 2020-09-19 12:00:00 -2020-09-20 11:59:59
$date = date('YmdHis', strtotime(' -12 hours '));
$date_from = date('Ymd120000', strtotime($date));
$date_to = Carbon::parse($date_from)->addDays(1)->format('Ymd115959');
$product_reports = product_report::select(DB::raw('
category_id , user_id , currency ,
sum(price) as price , sum(tax) as tax , sum(discount) as discount '))
->whereBetween('created_at', [$date_from, $date_to])
->groupBy(DB::raw('
category_id , product_id , user_id
'))
->get();
Cache::forget('cached_report');
Cache::forever('cached_report', $product_reports );
this code i maintain as cron job it run every 5min once and store in cached_report but here am facing issue as when this query start execute it takes more then 1 min. so this can be spilted by Hour based like
2020-09-19 12:00:00 to 2020-09-19 12:59:59
2020-09-19 13:00:00 to 2020-09-19 13:59:59
2020-09-19 14:00:00 to 2020-09-19 14:59:59
.
.
2020-09-20 00:00:00 to 2020-09-20 00:59:59
.
.
2020-09-20 11:00:00 to 2020-09-2011:59:59
Llike
then just run cron for 1 Hrs data only for each 5mins
Ex/; now time 8pm 2020-09-19 18:00:00-18:59:59 just call this time only
and add this with previous result
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire