@extends('layouts.portal.app') @section('title', 'ETL Jobs — InsightsReady') @push('styles') @endpush @section('content')

ETL Jobs

Total jobs

42
+3 this week

Running

5
2 started recently

Failed (24h)

4
Check logs & retries

Avg duration

54s
last 20 runs
@php $jobs = $jobs ?? [ ['id'=>'setup-dwh-table-orders-schema-1','type'=>'Setup','schedule'=>'manual','ms'=>3,'run_at'=>'2025-05-21 11:05:50','status'=>'idle','prog'=>10], ['id'=>'setup-dwh-table-customers-schema-1','type'=>'Setup','schedule'=>'manual','ms'=>7,'run_at'=>'2025-05-21 11:05:50','status'=>'idle','prog'=>20], ['id'=>'sync-orders','type'=>'Sync','schedule'=>'hourly','ms'=>462,'run_at'=>'2025-07-24 12:15:26','status'=>'failed','prog'=>60], ['id'=>'sync-products','type'=>'Sync','schedule'=>'daily','ms'=>388,'run_at'=>'2025-07-29 11:08:23','status'=>'running','prog'=>72], ]; $statusPill = function($s){ return match($s){ 'running' => ['dot'=>'dot dot--run','pill'=>'pill pill--run','label'=>'Running'], 'failed' => ['dot'=>'dot dot--fail','pill'=>'pill pill--fail','label'=>'Failed'], 'queued' => ['dot'=>'dot dot--queue','pill'=>'pill pill--queue','label'=>'Queued'], default => ['dot'=>'dot','pill'=>'pill','label'=>ucfirst($s)] }; }; @endphp @foreach($jobs as $j) @php $sp = $statusPill($j['status']); @endphp @endforeach @if(empty($jobs)) @endif
Job Schedule Last Execution Latest Run Status Actions
{{ $j['id'] }}
Avg: {{ $j['ms'] }} ms
{{ $j['ms'] }} ms
{{ $j['run_at'] }}
{{ $sp['label'] }}
No jobs yet. Click New Job to create your first pipeline.
@endsection @push('scripts') @endpush