diff --git a/backend/windmill-worker/src/handle_child.rs b/backend/windmill-worker/src/handle_child.rs
index 48441c83c1..82f708be49 100644
--- a/backend/windmill-worker/src/handle_child.rs
+++ b/backend/windmill-worker/src/handle_child.rs
@@ -459,7 +459,6 @@ pub async fn write_lines(
let w_id = w_id.to_string();
let job_id = job_id.clone();
let pg_log_total_size = pg_log_total_size.clone();
-
(do_write, write_result) = tokio::spawn(async move {
append_job_logs(
&job_id,
diff --git a/frontend/src/lib/components/HistoricInputs.svelte b/frontend/src/lib/components/HistoricInputs.svelte
index ac79c0479b..e202952de7 100644
--- a/frontend/src/lib/components/HistoricInputs.svelte
+++ b/frontend/src/lib/components/HistoricInputs.svelte
@@ -3,7 +3,7 @@
import { sendUserToast } from '$lib/utils.js'
import RunningJobSchemaPicker from '$lib/components/schema/RunningJobSchemaPicker.svelte'
import { createEventDispatcher, onDestroy } from 'svelte'
- import JobLoader from './runs/JobLoader.svelte'
+ import JobsLoader from './runs/JobsLoader.svelte'
import { DataTable } from '$lib/components/table'
import HistoricList from './HistoricList.svelte'
import { Loader2 } from 'lucide-svelte'
@@ -100,7 +100,7 @@
{#if runnableId}
-
{#if runnableId}
- {
+ onDone: (items) => {
let lastRow = -1
if (datasource?.rowCount && datasource.rowCount <= params.endRow) {
@@ -306,10 +306,10 @@
params.failCallback()
}
},
- cancel: () => {
+ onCancel: () => {
params.failCallback()
},
- error: () => {
+ onError: (error) => {
params.failCallback()
}
})
diff --git a/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte b/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte
index a0f9d7f16a..387065b197 100644
--- a/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte
+++ b/frontend/src/lib/components/apps/components/helpers/RunnableComponent.svelte
@@ -549,7 +549,8 @@
noToast = true,
inlineScriptOverride?: InlineScript,
setRunnableJobEditorPanel?: boolean,
- dynamicArgsOverride?: Record
+ dynamicArgsOverride?: Record,
+ callbacks?: RunnableCallback
): Promise {
try {
if (cancellableRun && !dynamicArgsOverride) {
@@ -560,7 +561,8 @@
noToast,
inlineScriptOverride,
setRunnableJobEditorPanel,
- dynamicArgsOverride
+ dynamicArgsOverride,
+ callbacks
)
}
} catch (e) {
diff --git a/frontend/src/lib/components/runs/JobLoader.svelte b/frontend/src/lib/components/runs/JobsLoader.svelte
similarity index 100%
rename from frontend/src/lib/components/runs/JobLoader.svelte
rename to frontend/src/lib/components/runs/JobsLoader.svelte
diff --git a/frontend/src/routes/(root)/(logged)/runs/[...path]/+page.svelte b/frontend/src/routes/(root)/(logged)/runs/[...path]/+page.svelte
index 5bed9116d6..18ca461b65 100644
--- a/frontend/src/routes/(root)/(logged)/runs/[...path]/+page.svelte
+++ b/frontend/src/routes/(root)/(logged)/runs/[...path]/+page.svelte
@@ -31,7 +31,7 @@
import RunsQueue from '$lib/components/runs/RunsQueue.svelte'
import { twMerge } from 'tailwind-merge'
import ManuelDatePicker from '$lib/components/runs/ManuelDatePicker.svelte'
- import JobLoader from '$lib/components/runs/JobLoader.svelte'
+ import JobsLoader from '$lib/components/runs/JobsLoader.svelte'
import { AlertTriangle, Calendar, ChevronDown, Clock } from 'lucide-svelte'
import ConcurrentJobsChart from '$lib/components/ConcurrentJobsChart.svelte'
import ToggleButtonGroup from '$lib/components/common/toggleButton-v2/ToggleButtonGroup.svelte'
@@ -198,7 +198,7 @@
}
let innerWidth = $state(window.innerWidth)
- let jobLoader: JobLoader | undefined = $state(undefined)
+ let jobsLoader: JobsLoader | undefined = $state(undefined)
let externalJobs: Job[] | undefined = $state(undefined)
let graph: 'RunChart' | 'ConcurrencyChart' = $state(
@@ -342,7 +342,7 @@
if (resultError == '' && argError == '') {
filterTimeout && clearTimeout(filterTimeout)
filterTimeout = setTimeout(() => {
- jobLoader?.loadJobs(minTs, maxTs, true)
+ jobsLoader?.loadJobs(minTs, maxTs, true)
}, 2000)
}
}
@@ -359,7 +359,7 @@
batchReRunOptions = { flow: {}, script: {} }
selectionMode = false
selectedWorkspace = undefined
- jobLoader?.loadJobs(minTs, maxTs, true)
+ jobsLoader?.loadJobs(minTs, maxTs, true)
}
async function loadUsernames(): Promise {
@@ -548,7 +548,7 @@
requestBody: uuidsToCancel
})
selectedIds = []
- jobLoader?.loadJobs(minTs, maxTs, true, true)
+ jobsLoader?.loadJobs(minTs, maxTs, true, true)
sendUserToast(`Canceled ${uuids.length} jobs`)
selectionMode = false
}
@@ -653,7 +653,7 @@
selectedIds = []
batchReRunOptions = { flow: {}, script: {} }
- jobLoader?.loadJobs(minTs, maxTs, true, true)
+ jobsLoader?.loadJobs(minTs, maxTs, true, true)
selectionMode = false
}
@@ -689,8 +689,8 @@
}
async function loadExtra() {
- if (jobLoader) {
- lastFetchWentToEnd = await jobLoader.loadExtraJobs()
+ if (jobsLoader) {
+ lastFetchWentToEnd = await jobsLoader.loadExtraJobs()
console.log(lastFetchWentToEnd)
}
}
@@ -772,7 +772,7 @@
})
-
@@ -982,7 +982,7 @@
minTs = e.detail.min.toISOString()
maxTs = e.detail.max.toISOString()
manualDatePicker?.resetChoice()
- jobLoader?.loadJobs(minTs, maxTs, true)
+ jobsLoader?.loadJobs(minTs, maxTs, true)
}}
on:pointClicked={(e) => {
runsTable?.scrollToRun(e.detail)
@@ -997,7 +997,7 @@
on:zoom={async (e) => {
minTs = e.detail.min.toISOString()
maxTs = e.detail.max.toISOString()
- jobLoader?.loadJobs(minTs, maxTs, true)
+ jobsLoader?.loadJobs(minTs, maxTs, true)
}}
/>
{/if}
@@ -1071,14 +1071,14 @@
minTs = new Date(detail).toISOString()
calendarChangeTimeout && clearTimeout(calendarChangeTimeout)
calendarChangeTimeout = setTimeout(() => {
- jobLoader?.loadJobs(minTs, maxTs, true)
+ jobsLoader?.loadJobs(minTs, maxTs, true)
}, 1000)
}}
on:clear={async () => {
minTs = undefined
calendarChangeTimeout && clearTimeout(calendarChangeTimeout)
calendarChangeTimeout = setTimeout(() => {
- jobLoader?.loadJobs(minTs, maxTs, true)
+ jobsLoader?.loadJobs(minTs, maxTs, true)
}, 1000)
}}
/>
@@ -1100,14 +1100,14 @@
maxTs = new Date(detail).toISOString()
calendarChangeTimeout && clearTimeout(calendarChangeTimeout)
calendarChangeTimeout = setTimeout(() => {
- jobLoader?.loadJobs(minTs, maxTs, true)
+ jobsLoader?.loadJobs(minTs, maxTs, true)
}, 1000)
}}
on:clear={async () => {
maxTs = undefined
calendarChangeTimeout && clearTimeout(calendarChangeTimeout)
calendarChangeTimeout = setTimeout(() => {
- jobLoader?.loadJobs(minTs, maxTs, true)
+ jobsLoader?.loadJobs(minTs, maxTs, true)
}, 1000)
}}
/>
@@ -1119,7 +1119,7 @@
{
lastFetchWentToEnd = false
- jobLoader?.loadJobs(minTs, maxTs, true, true)
+ jobsLoader?.loadJobs(minTs, maxTs, true, true)
}}
bind:minTs
bind:maxTs
@@ -1311,7 +1311,7 @@
minTs = e.detail.min.toISOString()
maxTs = e.detail.max.toISOString()
manualDatePicker?.resetChoice()
- jobLoader?.loadJobs(minTs, maxTs, true)
+ jobsLoader?.loadJobs(minTs, maxTs, true)
}}
on:pointClicked={(e) => {
runsTable?.scrollToRun(e.detail)
@@ -1326,7 +1326,7 @@
on:zoom={async (e) => {
minTs = e.detail.min.toISOString()
maxTs = e.detail.max.toISOString()
- jobLoader?.loadJobs(minTs, maxTs, true)
+ jobsLoader?.loadJobs(minTs, maxTs, true)
}}
/>
{/if}
@@ -1405,14 +1405,14 @@
minTs = new Date(detail).toISOString()
calendarChangeTimeout && clearTimeout(calendarChangeTimeout)
calendarChangeTimeout = setTimeout(() => {
- jobLoader?.loadJobs(minTs, maxTs, true)
+ jobsLoader?.loadJobs(minTs, maxTs, true)
}, 1000)
}}
on:clear={async () => {
minTs = undefined
calendarChangeTimeout && clearTimeout(calendarChangeTimeout)
calendarChangeTimeout = setTimeout(() => {
- jobLoader?.loadJobs(minTs, maxTs, true)
+ jobsLoader?.loadJobs(minTs, maxTs, true)
}, 1000)
}}
/>
@@ -1435,14 +1435,14 @@
maxTs = new Date(detail).toISOString()
calendarChangeTimeout && clearTimeout(calendarChangeTimeout)
calendarChangeTimeout = setTimeout(() => {
- jobLoader?.loadJobs(minTs, maxTs, true)
+ jobsLoader?.loadJobs(minTs, maxTs, true)
}, 1000)
}}
on:clear={async () => {
maxTs = undefined
calendarChangeTimeout && clearTimeout(calendarChangeTimeout)
calendarChangeTimeout = setTimeout(() => {
- jobLoader?.loadJobs(minTs, maxTs, true)
+ jobsLoader?.loadJobs(minTs, maxTs, true)
}, 1000)
}}
/>
@@ -1454,7 +1454,7 @@
{
lastFetchWentToEnd = false
- jobLoader?.loadJobs(minTs, maxTs, true, true)
+ jobsLoader?.loadJobs(minTs, maxTs, true, true)
}}
bind:this={manualDatePicker}
bind:minTs