1 <h1 class=
"d-flex justify-content-between">
2 <span class=
"text-nowrap me-2">
3 <my-global-icon iconName=
"globe" aria-hidden=
"true"></my-global-icon>
4 <span i18n
>Runner jobs
</span>
7 <a routerLink=
"/admin/system/runners/runners-list" class=
"peertube-button-link peertube-button-icon grey-button">
8 <my-global-icon iconName=
"codesandbox" aria-hidden=
"true"></my-global-icon>
9 <ng-container i18n
>Remote runners
</ng-container>
14 [value]=
"runnerJobs" [paginator]=
"totalRecords > 0" [totalRecords]=
"totalRecords" [rows]=
"rowsPerPage" [first]=
"pagination.start"
15 [rowsPerPageOptions]=
"rowsPerPageOptions" [sortField]=
"sort.field" [sortOrder]=
"sort.order"
16 [lazy]=
"true" (onLazyLoad)=
"loadLazy($event)" [lazyLoadOnInit]=
"false"
17 [showCurrentPageReport]=
"true" i18n-currentPageReportTemplate
18 currentPageReportTemplate=
"Showing {{'{first}'}} to {{'{last}'}} of {{'{totalRecords}'}} runner jobs"
19 [expandedRowKeys]=
"expandedRows" dataKey=
"uuid"
21 <ng-template pTemplate=
"header">
23 <th style=
"width: 40px"></th>
24 <th style=
"width: 120px;"></th>
27 <th i18n
pSortableColumn=
"state">State
<p-sortIcon field=
"state"></p-sortIcon></th>
28 <th style=
"width: 100px" i18n
pSortableColumn=
"priority">Priority
<p-sortIcon field=
"priority"></p-sortIcon></th>
29 <th style=
"width: 100px" i18n
pSortableColumn=
"progress">Progress
<p-sortIcon field=
"progress"></p-sortIcon></th>
31 <th style=
"width: 150px;" i18n
pSortableColumn=
"createdAt">Created
<p-sortIcon field=
"createdAt"></p-sortIcon></th>
35 <ng-template pTemplate=
"caption">
37 <div class=
"ms-auto d-flex">
38 <my-advanced-input-filter class=
"me-2" (search)=
"onSearch($event)"></my-advanced-input-filter>
40 <my-button i18n-label
label=
"Refresh" icon=
"refresh" (click)=
"reloadData()"></my-button>
45 <ng-template pTemplate=
"body" let-expanded=
"expanded" let-runnerJob
>
47 <td class=
"expand-cell" [pRowToggler]=
"runnerJob">
48 <my-table-expander-icon [expanded]=
"expanded"></my-table-expander-icon>
51 <td class=
"action-cell">
53 placement=
"bottom-right top-right left auto" container=
"body"
54 i18n-label
label=
"Actions" [actions]=
"actions" [entry]=
"runnerJob"
55 ></my-action-dropdown>
58 <td>{{ runnerJob.uuid }}
</td>
59 <td>{{ runnerJob.type }}
</td>
60 <td>{{ runnerJob.state.label }}
</td>
61 <td>{{ runnerJob.priority }}
</td>
62 <td>{{ runnerJob.progress }}
</td>
63 <td>{{ runnerJob.runner?.name }}
</td>
64 <td>{{ runnerJob.createdAt | date: 'short' }}
</td>
68 <ng-template pTemplate=
"rowexpansion" let-runnerJob
>
71 <div class=
"mt-2 fs-7 font-monospace">
72 Parent job: {{ runnerJob.parent?.uuid || '-' }}
<br />
73 Processed on {{ (runnerJob.startedAt || '-') }}
<br />
74 Finished on {{ (runnerJob.finishedAt || '-') }}
<br />
78 <strong i18n
>Payload:
</strong>
79 <pre>{{ runnerJob.payload }}
</pre>
83 <strong i18n
>Private payload:
</strong>
84 <pre>{{ runnerJob.privatePayload }}
</pre>
87 <pre *
ngIf=
"runnerJob.error" class=
".text-danger" >{{ runnerJob.error }}
</pre>
92 <ng-template pTemplate=
"emptymessage">
95 <div class=
"no-results">
96 <ng-container i18n
>No runner jobs found.
</ng-container>