Added ability to clone an existing job in the ui

This commit is contained in:
Jaret Burkett
2025-10-14 14:13:37 -06:00
parent 7e34a03113
commit b523d58699
2 changed files with 26 additions and 2 deletions

View File

@@ -26,6 +26,7 @@ export default function TrainingForm() {
const router = useRouter();
const searchParams = useSearchParams();
const runId = searchParams.get('id');
const cloneId = searchParams.get('cloneId');
const [gpuIDs, setGpuIDs] = useState<string | null>(null);
const { settings, isSettingsLoaded } = useSettings();
const { gpuList, isGPUInfoLoaded } = useGPUInfo();
@@ -54,6 +55,23 @@ export default function TrainingForm() {
}
}, [datasets, settings, isSettingsLoaded, datasetFetchStatus]);
// clone existing job
useEffect(() => {
if (cloneId) {
apiClient
.get(`/api/jobs?id=${cloneId}`)
.then(res => res.data)
.then(data => {
console.log('Clone Training:', data);
setGpuIDs(data.gpu_ids);
const newJobConfig = migrateJobConfig(JSON.parse(data.job_config));
newJobConfig.config.name = `${newJobConfig.config.name}_copy`;
setJobConfig(newJobConfig);
})
.catch(error => console.error('Error fetching training:', error));
}
}, [cloneId]);
useEffect(() => {
if (runId) {
apiClient