Statistical Algorithms Importer: StatusUpdate

From Gcube Wiki
Revision as of 14:14, 22 June 2021 by Giancarlo.panichi (Talk | contribs) (R example)

Jump to: navigation, search
This page explains how to update the status of a process from a SAI-integrated algorithm.


Updating the status of a process

It is sufficient to write a file named "status.txt" locally to the process indicating a number from 20 to 90. The DataMiner will transform this information into a WPS status, also visible through the status bar of the DataMiner GUI. The algorithm's status is always forced to 100 by DataMiner at the end of the computation.

Python example

For example, the following Python script writes a local ./status.txt file indicating its internal status.

....
 
def updateStatus(self,perc):
       with open('status.txt','w') as st:
           st.write(perc)
 
....
updateStatus('20')
doJob()
updateStatus('90')

R example

For example, the following R script writes a local status.txt file indicating its internal status.

nseconds <- 60
 
nsteps = nseconds/10
 
for (i in 1:nsteps){
  status = i*100/nsteps
  cat("Status",status,"\n")
  write(status,file="status.txt")
  Sys.sleep(1)
 
}
 
output="test.txt"
write(nseconds,file=output)

Related Links