@extends('layouts.dashboard') @section('content') @php /** * Advanced -> Scheduled tasks. * * Every job ships disabled, so this screen is where the operator opts in one at a time. * It deliberately shows the LAST RUN beside each switch: an enabled job with no visible * result is indistinguishable from a broken one, and that uncertainty is the main reason * scheduled work goes unnoticed when it stops. * * @var array $jobs registry from Cron::jobs() * @var array $lastRuns most recent run per job * @var array $enabled job key => bool * @var string $token shared secret for the web-cron URL */ $statusPill = [ 'ok' => 'qm-pill-green', 'failed' => 'qm-pill-red', 'skipped' => 'qm-pill-grey', 'running' => 'qm-pill-amber', ]; $onCount = count(array_filter($enabled)); // On the LOCKED public preview the token is bullets like every other secret (demo_hidden): the // URL is a password, and the server path would name the account. Both read in full anywhere else. $webUrl = rtrim(route('cron.run'), '/') . '?token=' . demo_hidden($token); @endphp
| {{ t_raw('admin.cron.col_task') }} | {{ t_raw('admin.cron.col_frequency') }} | {{ t_raw('admin.cron.col_last_run') }} | {{ t_raw('common.actions') }} |
|---|---|---|---|
|
{{ $job['label'] }}
{{ $job['desc'] }}
|
{{ $job['every'] }} | @if ($last) {{ t_raw('admin.cron.status_' . $last['status']) }} {!! fmt_datetime($last['started_at']) !!} · {{ t_raw('admin.cron.affected_n', [':n' => (int) $last['affected']]) }}@if (!empty($last['message'])) · {{ (string) $last['message'] }}@endif @else {{ t_raw('admin.cron.never_run') }} @endif |
@php // Run now uses the identical path the scheduler does, so what the
// operator sees here is exactly what cron will do.
@endphp
|