Skip to content

Commit

Permalink
Return the task ID and refresh the model run list
Browse files Browse the repository at this point in the history
  • Loading branch information
floryst committed Sep 13, 2024
1 parent 1eff4d5 commit 46358e6
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 7 deletions.
8 changes: 6 additions & 2 deletions rdwatch/core/tasks/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -870,11 +870,15 @@ def process_model_run_upload(model_run_upload: ModelRunUpload):
SiteEvaluation.bulk_create_from_region_model(region_model, model_run)


@shared_task
def process_model_run_upload_task(upload_id: UUID):
@shared_task(bind=True)
def process_model_run_upload_task(task, upload_id: UUID):
model_run_upload = ModelRunUpload.objects.get(pk=upload_id)

try:
with transaction.atomic():
model_run_upload.task_id = task.request.id
model_run_upload.save()

process_model_run_upload(model_run_upload)
finally:
model_run_upload.delete()
6 changes: 2 additions & 4 deletions rdwatch/core/views/model_run.py
Original file line number Diff line number Diff line change
Expand Up @@ -681,12 +681,10 @@ def start_model_run_upload_processing(
raise ValidationError('Invalid model run title')
if not default_storage.exists(upload.zipfile.name):
raise ValidationError('Invalid file name provided')

task = process_model_run_upload_task.delay_on_commit(upload.id)
upload.task_id = task.id
upload.save()

return task.id
task = process_model_run_upload_task.delay(upload.id)
return task.id


@router.get('/upload_status/{task_id}')
Expand Down
3 changes: 2 additions & 1 deletion vue/src/components/SideBar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import RegionFilter from "./filters/RegionFilter.vue";
import ModeFilter from "./filters/ModeFilter.vue";
import SettingsPanel from "./SettingsPanel.vue";
import ErrorPopup from './ErrorPopup.vue';
import { filteredSatelliteTimeList, state, updatePerformers, updateRegionList } from "../store";
import { filteredSatelliteTimeList, queryModelRuns, state, updatePerformers, updateRegionList } from "../store";
import { computed, onMounted, ref, watch } from "vue";
import { ApiService, Eval, Performer, QueryArguments, Region } from "../client";
import { ModelRunList } from "../client/models/ModelRunList";
Expand Down Expand Up @@ -162,6 +162,7 @@ const satelliteLoadingColor = computed(() => {
const refreshListings = () => {
updatePerformers();
updateRegionList();
queryModelRuns('firstPage', queryFilters.value);
};
</script>

Expand Down

0 comments on commit 46358e6

Please sign in to comment.