Skip to content
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import AppPage from "../../../app_page.svelte"
import { client } from "$lib/api_client"
import { current_task } from "$lib/stores"
import type { Task } from "$lib/types"
import type { RunConfigProperties, Task } from "$lib/types"
import { KilnError, createKilnError } from "$lib/utils/error_handlers"
import { onMount } from "svelte"
import { page } from "$app/stores"
Expand Down Expand Up @@ -416,10 +416,17 @@
let ui_show_errors = false

// Worker function that processes items until queue is empty
async function generate_worker(queue: SampleData[]) {
async function generate_worker(
queue: SampleData[],
run_config_properties: RunConfigProperties,
) {
while (queue.length > 0) {
const sample = queue.shift()!
const result = await generate_sample(sample, sample.topic_path)
const result = await generate_sample(
sample,
sample.topic_path,
run_config_properties,
)

if (result.error) {
generate_all_sub_errors.push(result.error)
Expand All @@ -442,6 +449,13 @@
let generated_count = 0
async function generate_all_samples() {
try {
// Grab the run config properties before it is no longer available
const run_config_properties =
run_config_component?.run_options_as_run_config_properties()
if (!run_config_properties) {
throw new KilnError("Run config properties not found")
}

generated_count = 0
generate_all_running = true
generate_all_error = null
Expand All @@ -454,7 +468,7 @@
// 5 because browsers can only handle 6 concurrent requests. The 6th is for the rest of the UI to keep working.
const workers = Array(5)
.fill(null)
.map(() => generate_worker(queue))
.map(() => generate_worker(queue, run_config_properties))

// Wait for all workers to complete
await Promise.all(workers)
Expand Down Expand Up @@ -529,13 +543,9 @@
async function generate_sample(
sample: SampleData,
topic_path: string[] | undefined,
run_config_properties: RunConfigProperties,
): Promise<GenerateSampleResponse> {
const run_config_properties =
run_config_component?.run_options_as_run_config_properties()
try {
if (!run_config_properties) {
throw new KilnError("Run config properties not found")
}
const formatted_input = task?.input_json_schema
? JSON.parse(sample.input)
: sample.input
Expand Down
Loading