Job submission vs direct Appion Script running from terminal » History » Revision 2
Revision 1 (Anchi Cheng, 04/04/2012 10:29 PM) → Revision 2/5 (Anchi Cheng, 04/04/2012 10:42 PM)
h1. Job submission vs direct Appion Script running from terminal We have two schools of developers. # Some has only single node computer and wants to run appionScript without going through resource manager by constructing Appion script and options directly on the terminal. This means that appionScript need to be able to manage the resource without a resource manager. The users would use *Show Commands* in myamiweb # Some wants to move all appion job running through job submission so that resource managers are used in a large cluster of nodes. The users would use *Submit job* in myamiweb. This wiki is to organize my (Anchi) findings on what modules does what and how options are passed and set and what are logged into database and when in the two different way of running Appion currently. h2. h2 Show Command path (*Bold* are not performed in BasicScript) h3. h3 during instance construct with "__init__"() # createDefaultStats # set self.functionname # *set self.appiondir* set self.appiondir # setParams ## *setupGlobalParseOptions* setupGlobalParseOptions (I have not found any appion script not doing this step even though it can be turned off) ## setupParserOptions (subclasses overwrite appionScript base class that adds stackid). ## convertOptions to self.params # set processing database using projectid (don't see how we can have a situation without projectid any more). # check conflicts ## checkConflicts from subclasses of appionScript ## *checkGlobalConflicts* checkGlobalConflicts # *set set up run directory* directory # *start start pool of threads* threads (set to 2 now and will time out if not used in 10 seconds) # writeFunctionLog # *uploadScriptData* uploadScriptData ## ProgramName ## UserName ## Host ## ProgramRun (need cluster job id) ### query for ApAppionJobData by #### path = self.params['rundir'] #### jobtype = self.functionname ### insert if not exist ### *set ApAppionJobData to Run* ## ParamName and ParamValues h3. h3 start() h3. h3 close() # closeFunctionLog # *set ApAppionJobData to Done*