diff options
Diffstat (limited to 'player/tasks.f90')
-rw-r--r-- | player/tasks.f90 | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/player/tasks.f90 b/player/tasks.f90 index 832e345..1084329 100644 --- a/player/tasks.f90 +++ b/player/tasks.f90 @@ -93,13 +93,14 @@ contains end function shell - function upload_glob(url, mask) result(res) + function upload_glob(url, mask, job_id) result(res) use utilities implicit none logical::res character(*), intent(in)::url character(*), intent(in)::mask + integer, intent(in)::job_id character(DIR_LIST_STRING_LENGTH), dimension(:), pointer::files logical, dimension(:), allocatable::statuses @@ -130,7 +131,7 @@ contains call combine_paths(dir, files(i), fullname) end if - statuses(i) = upload(url, fullname) + statuses(i) = upload(url, fullname, job_id) end do res = all(statuses) @@ -152,7 +153,7 @@ contains end function upload_glob - function upload(url, source_filename) result(res) + function upload(url, source_filename, job_id) result(res) use config, only: token, captain, identity use gemini_protocol, only: titan_post_url, STATUS_SUCCESS, STATUS_TEMPFAIL implicit none @@ -160,8 +161,10 @@ contains logical::res character(*), intent(in)::url character(*), intent(in)::source_filename + integer, intent(in), optional::job_id character(len=:), allocatable::mod_url + character(len=32)::job_id_keyval integer(kind=8)::file_size integer::unit_number, istatus, url_length, i @@ -210,8 +213,17 @@ contains end if if(istatus == 0) then + Print *, "Writing "//trim(mod_url) - istatus = titan_post_url(mod_url, unit_number, file_size, trim(identity)//":"//trim(token)) + + if(present(job_id)) then + write(job_id_keyval, *) job_id + job_id_keyval = "job="//trim(adjustl(job_id_keyval)) + istatus = titan_post_url(mod_url, unit_number, file_size, trim(identity)//":"//trim(token), & + extra=trim(job_id_keyval)) + else + istatus = titan_post_url(mod_url, unit_number, file_size, trim(identity)//":"//trim(token)) + end if Print *, "Response code from server: ", istatus if(istatus == STATUS_TEMPFAIL) then |