{{-- 配信の稼働状況(監査 M12)。 cron やキューが止まると、ステップ配信・一斉送信・リマインダが**何も言わずに止まる**。 動いた側に印を残させ、その時刻を**日本時間**で出す。 正常なときは折りたたんだ1行だけにして、画面を騒がしくしない。 止まっているものがあるときだけ開いた状態で目立たせる。 --}} @php $tzLabel = '日本時間'; $problem = $heartbeatHasProblem ?? false; $scheduler = collect($heartbeats ?? [])->firstWhere('key', 'scheduler'); @endphp
@if($problem) 配信処理が止まっている可能性があります @else 配信処理は動いています @endif @if($scheduler && $scheduler['ran_at_jst']) 最後に動いた時刻: {{ $scheduler['ran_at_jst'] }}({{ $tzLabel }}) @else 最後に動いた時刻: — @endif
@foreach($heartbeats ?? [] as $row) @endforeach
処理 最後に動いた時刻({{ $tzLabel }}) 状態 説明
{{ $row['label'] }} @if($row['ran_at_jst']) {{ $row['ran_at_jst'] }} @if($row['minutes_ago'] !== null) {{ $row['minutes_ago'] < 60 ? $row['minutes_ago'].'分前' : floor($row['minutes_ago'] / 60).'時間前' }} @endif @else @endif @switch($row['state']) @case('ok') 正常 @break @case('stale') 止まっている @break @case('never') 未実行 @break @default 設定で無効 @endswitch {{ $row['detail'] }} @if($row['note']) {{ $row['note'] }} @endif
@if($problem)
確認してください。 サーバの cron に php artisan schedule:run が毎分で登録されているか、 登録されているのにエラーで止まっていないかをご確認ください。 これが止まっている間、ステップ配信・一斉送信・リマインダは送られません。
@endif