get('timezone'); $reportCreatedAt = Carbon::now($timezone)->format('Y-m-d H:i:s e'); $this->withProgressBar( Task::whereNull('deleted_at')->lazyById(), static fn(Task $task) => rescue(static function () use ($task) { CronTaskWorkers::whereTaskId($task->id)->delete(); CronTaskWorkers::insertUsing( ['user_id', 'task_id', 'duration', 'created_by_cron'], TimeInterval::selectRaw('user_id, task_id, SUM(TIMESTAMPDIFF(SECOND, start_at, end_at)) as duration, "1" as created_by_cron') ->where('task_id', '=', $task->id) ->groupBy(['user_id', 'task_id']) ); }) ); Settings::scope('core.reports')->set('planned_time_report_date', $reportCreatedAt); CronTaskWorkers::whereDoesntHave('task') ->orWhereDoesntHave('user') ->orWhereHas('task', static fn(EloquentBuilder $query) => $query ->whereNotNull('deleted_at') )->delete(); } }