In want to submit an executable to be run remotely, employing a GEJobDescription.
My doubt is, how should I specify the executable?
I have the method
taskToExecute.setExecutable( myExecutable).
I assume that it requires a relative path if the executable has to be copied from the user, or an absolute path if the executable already exists on the remote site. Is that true?
The problem is that there is no method to specify the local workspace, so I don't know how to indicate the path to my local executable.
Also, should I copy the executable as an input file too with
taskToExecute.setInputFiles( myExecutable , rest of input files)
or is it automatically managed?
Thanks for your help,
Manuel
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Manuel,
in the method:
taskToExecute.setExecutable( myExecutable)
you have to only specify the executable name (without path).
In addition, only if the executable has to be copied from the portlet, you have to specify the executable name (including its absolute path) in the method:
taskToExecute.setInputFiles( myExecutable , rest of input files)
Please, pay attention. For security reason the user cannot upload executable file on the infrastructure. Then, if you need to upload an executable, this executable must be embedded inside the portlet.
Cheers,
Diego
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
[javac] miJobSubmission.setOutputFiles(outputFiles); // Setup output files (OutputSandbox) [javac] ^^^^^^^^^^^^^^ [javac] The method setOutputFiles(String) is undefined for the type GEJobDescription
Are you sure it is included in the class? Maybe there is some kind of error...
The problem was that i had multiple versions of the library in my /lib folder, with a symbolic link pointing to the newest one.
I thought that was enough tom employ the last version, but "ant" was accesing to the earliest version of the library, as it is the first on alphabetic order, so it kept failing.
Thanks again for your help.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi all,
I am facing a problem when creating a portlet.
In want to submit an executable to be run remotely, employing a GEJobDescription.
My doubt is, how should I specify the executable?
I have the method
I assume that it requires a relative path if the executable has to be copied from the user, or an absolute path if the executable already exists on the remote site. Is that true?
The problem is that there is no method to specify the local workspace, so I don't know how to indicate the path to my local executable.
Also, should I copy the executable as an input file too with
or is it automatically managed?
Thanks for your help,
Manuel
Hi Manuel,
in the method:
taskToExecute.setExecutable( myExecutable)
you have to only specify the executable name (without path).
In addition, only if the executable has to be copied from the portlet, you have to specify the executable name (including its absolute path) in the method:
taskToExecute.setInputFiles( myExecutable , rest of input files)
Please, pay attention. For security reason the user cannot upload executable file on the infrastructure. Then, if you need to upload an executable, this executable must be embedded inside the portlet.
Cheers,
Diego
Ok, thanks.
Also, how can I specify the output files to be copied from the remote site?
Looking at the API, http://grid.ct.infn.it/webinar-liferay/it/infn/ct/GridEngine/JobResubmission/GEJobDescription.html
I cannot see how to do it.
A documentation bug!
The method exists but we forgot to add it in the documentation:
public void setOutputFiles(String value)
where "value" is a comma separated string representing the output files list
Sorry,
Diego
I get this error:
Are you sure it is included in the class? Maybe there is some kind of error...
I think this is the same problem that I commented here:
https://sourceforge.net/p/ctsciencegtwys/discussion/general/thread/7fd290ac/?limit=25&page=1#5ebe
after examining the class as much as possible without having the source code.
Last edit: Manuel Rodríguez-Pascual 2013-12-19
please, check you are using the last version of the grid engine.
You can find the last jar at (release 1.5.8):
https://sourceforge.net/p/ctsciencegtwys/liferay/HEAD/tree/trunk/core/GridEngine/lib/
Hi Diego,
you were right :)
The problem was that i had multiple versions of the library in my /lib folder, with a symbolic link pointing to the newest one.
I thought that was enough tom employ the last version, but "ant" was accesing to the earliest version of the library, as it is the first on alphabetic order, so it kept failing.
Thanks again for your help.