From: Murali K. <mur...@sy...> - 2007-05-24 05:19:59
|
Awesome, Thanks David..=20 It Solved my Problem. Its working and giving "Linux".=20 -- With Kind Regards S. Murali Krishnan Senior Software Engineer Sylantro Softwares. Bangalore - India. -----Original Message----- From: David Bender [mailto:bd...@us...]=20 Sent: Wednesday, May 23, 2007 7:50 PM To: sta...@li... Cc: Murali Krishnan Subject: Re: [staf-users] Return value from STAX file The problem is with the argument you are passing. Instead of 'aristo' you=20 need to pass it as "'aristo'" so that the quotes are not stripped from the=20 command line (otherwise the STAX Python interpreter will try to get the value for a variable named aristo, instead of the literal string=20 'aristo'). I get the same reults as you if I don't have the additional=20 quotes: $ STAF local stax EXECUTE FILE c:/staxtest/return1.xml function FindOS=20 args 'local' WAIT RETURNRESULT Response -------- Job ID: 11 Result: None Status: Terminated $ STAF local stax EXECUTE FILE c:/staxtest/return1.xml function FindOS=20 args "'local'" WAIT RETURNRESULT Response -------- Job ID: 12 Result: WinXP Status: Normal Note that the STAX Job Log for Job 11 has the following=20 STAXPythonEvalutaionError. Also note that the "Status" field in the=20 RETURNRESULT output indicates that the job was terminated (this field is new in STAX V3.2.1). $ STAF local log QUERY MACHINE {STAF/Config/MachineNickname} LOGNAME=20 STAX_Job_11 Response -------- Date-Time Level Message ----------------- ------=20 ------------------------------------------------------ 20070502-13:29:11 Start JobID: 11, File: C:/staxtest/subret.xml, Machine:=20 loca l://local, Function: test, Args: null, JobName: MyJob 20070502-13:29:12 Status Testcase Totals: Tests: 0, Pass: 0, Fail: 0 20070502-13:29:12 Status Job Result: 0 20070502-13:29:12 Stop JobID: 11 20070523-07:29:47 Start JobID: 11, File: c:/staxtest/return.xml, Machine:=20 loca l://local, Function: test1, Args: null, JobName:=20 <N/A> 20070523-07:29:47 Status Testcase Totals: Tests: 0, Pass: 0, Fail: 0 20070523-07:29:47 Status Job Result: WinXP 20070523-07:29:47 Stop JobID: 11 20070523-09:12:40 Start JobID: 11, File: c:/staxtest/return1.xml,=20 Machine: loc al://local, Function: FindOS, Args: local,=20 JobName: <N /A> 20070523-09:12:41 Error STAXPythonEvaluationError signal raised.=20 Terminating j ob. =3D=3D=3D=3D=3D Element Information = =3D=3D=3D=3D=3D Python=20 evaluati on error in function arguments value. <call=20 function=3D "'FindOS'">local</call> =3D=3D=3D=3D=3D Python = Error=20 Informatio n =3D=3D=3D=3D=3D=20 com.ibm.staf.service.stax.STAXPythonEvaluatio nException: Python object evaluation failed for:=20 loca l Traceback (innermost last): File "<pyEval string >", line 1, in ? NameError: local = =3D=3D=3D=3D=3D Call Stack for STAX Thread 1 =3D=3D=3D=3D=3D [ Block: = main=20 Sequence: 22/22 ] 20070523-09:12:41 Info Terminating block: main 20070523-09:12:41 Status Testcase Totals: Tests: 0, Pass: 0, Fail: 0 20070523-09:12:41 Status Job Result: None 20070523-09:12:41 Stop JobID: 11 David Bender STAF/STAX Development 8-1268 (512-838-1268)=20 IBM Austin Bldg. 903-5B002 Internet: bd...@us... "Murali Krishnan" <mur...@sy...>=20 Sent by: sta...@li... 05/23/2007 08:19 AM To sta...@li... cc Subject Re: [staf-users] Return value from STAX file My code is same.. but Im confused where the problem is. <function name=3D"FindOS"> <function-prolog> Function to Identified the OS of the system provided as argument. This function basically sets a global variable called opSys to whatever the uname output. </function-prolog> <function-single-arg> <function-required-arg name=3D"Targetsys"/> </function-single-arg> <sequence> <stafcmd name=3D"'FindOSType'"> <location>Targetsys</location> <service>'var'</service> <request>'resolve system string {STAF/Config/OS/Name}'</request> </stafcmd> <return>STAFResult</return> </sequence> </function> Im calling it like . [root@spartan stax]# staf local stax execute file `pwd`/test.xml function FindOS ARGS 'aristo' WAIT RETURNRESULT Response -------- Job ID: 75 Result: None But I'm getting the result properly when I use <message> and see it in STAXMon, or if I use <call> and get the result via STAXResult. -- With Kind Regards S. Murali Krishnan Senior Software Engineer Sylantro Softwares. Bangalore - India. -----Original Message----- From: David Bender [mailto:bd...@us...]=20 Sent: Wednesday, May 23, 2007 6:05 PM To: sta...@li... Cc: Murali Krishnan Subject: Re: [staf-users] Return value from STAX file Using <return> in a non-defaulf function also works correctly for me: <?xml version=3D"1.0" encoding=3D"UTF-8" standalone=3D"no"?> <!DOCTYPE stax SYSTEM "stax.dtd"> <stax> <defaultcall function=3D"test1"/> <function name=3D"test1"> <sequence> <stafcmd> <location>'local'</location> <service>'VAR'</service> <request>'RESOLVE STRING {STAF/Config/OS/Name}'</request> </stafcmd> <return>STAFResult</return> </sequence> </function> <function name=3D"test2"> <function-map-args> <function-arg-def name=3D"testMachine" type=3D"required"/> </function-map-args> <sequence> <stafcmd> <location>testMachine</location> <service>'VAR'</service> <request>'RESOLVE STRING {STAF/Config/BootDrive}'</request> </stafcmd> <return>STAFResult</return> </sequence> </function> </stax> Running this with the default function and the non-default function gives=20 the expected results: $ STAF local stax EXECUTE FILE c:/staxtest/return.xml function test1 WAIT=20 RETURNRESULT Response -------- Job ID: 11 Result: WinXP Status: Normal $ STAF local stax EXECUTE FILE c:/staxtest/return.xml function test2 args=20 "{ 'testMachine' : 'local' }" WAIT RETURNRESULT Response -------- Job ID: 12 Result: C: Status: Normal David Bender STAF/STAX Development 8-1268 (512-838-1268)=20 IBM Austin Bldg. 903-5B002 Internet: bd...@us... "Murali Krishnan" <mur...@sy...>=20 Sent by: sta...@li... 05/23/2007 12:01 AM To sta...@li... cc Subject Re: [staf-users] Return value from STAX file David, You are right. When I embed the machine name and the defaultcall function (findOS) in the STAX file, it is returning correctly, But my STAF cmd line is calling a function in the file directly with Argument as Machinename. In that case, why its not returning... any Idea.=20 STAF local stax execute file `pwd`/test.xml WAIT RETURNRESULT Response -------- Job ID: 54 Result: Linux But I want=20 STAF local stax execute file `pwd`/test.xml Function FindOS ARGS 'aristo' WAIT RETURNRESULT. -- With Kind Regards S. Murali Krishnan Senior Software Engineer Sylantro Softwares. Bangalore - India. -----Original Message----- From: David Bender [mailto:bd...@us...]=20 Sent: Wednesday, May 23, 2007 10:08 AM To: sta...@li... Cc: Murali Krishnan Subject: Re: [staf-users] Return value from STAX file Using the <return> tag works correctly for me. For example, if I have the=20 following STAX job: <?xml version=3D"1.0" encoding=3D"UTF-8" standalone=3D"no"?> <!DOCTYPE stax SYSTEM "stax.dtd"> <stax> <defaultcall function=3D"test"/> <function name=3D"test"> <sequence> <stafcmd> <location>'local'</location> <service>'VAR'</service> <request>'RESOLVE STRING {STAF/Config/OS/Name}'</request> </stafcmd> <return>STAFResult</return> </sequence> </function> </stax> And when I run it from the command line I get the expected result (note=20 this example is for STAX V3.2.1): $ STAF local stax EXECUTE FILE c:/staxtest/return.xml WAIT RETURNRESULT Response -------- Job ID: 5 Result: WinXP Status: Normal Are you sure the <return> is in the starting function of your STAX job? David Bender STAF/STAX Development 8-1268 (512-838-1268)=20 IBM Austin Bldg. 903-5B002 Internet: bd...@us... "Murali Krishnan" <mur...@sy...>=20 Sent by: sta...@li... 05/22/2007 11:08 PM To sta...@li... cc Subject [staf-users] Return value from STAX file Hi All, =20 I?m executing a STAX File from command Line , but I want the result in the=20 output. How do I get that. I tried using <return> tag, but Still I?m getting ?None? in the ?Result: ? field when used with=20 ?RETURNRESULT? args to stax execute. Eg. =20 Staf local stax execute file `pwd`/test.xml Function FindOS ARGS=20 ?machine`? WAIT RETURNRESULT =20 Response -------------- Job ID: 53 Result: None =20 I want something like. Response -------------- Job ID: 53 Result: Linux =20 In Stax File I use something like=20 =20 Staf location var resolve string {STAF/Config/OS/Name} <return>STAFResult</result> =20 -- With Kind Regards S. Murali Krishnan Senior Software Engineer Sylantro Softwares. Bangalore - India. From: sta...@li...=20 [mailto:sta...@li...] On Behalf Of Sharon=20 Lucas Sent: Tuesday, May 22, 2007 10:36 PM To: luksedj luksedj Cc: sta...@li... Subject: Re: [staf-users] STAX monitor events =20 To get the messages for each STAX job that your custom tool executes, you=20 would need to submit a REGISTER request to the Event service for each STAX=20 job executed for TYPE "STAX/<STAXMachineName>/<JobID>" and for SUBTYPE=20 Message. For example:=20 STAF <EventMachine> EVENT REGISTER TYPE "STAX/<STAXMachine>/<JobID>"=20 SUBTYPE "Message"=20 (replacing <EventMachine>, <STAXMachine>, and <JobID> with the correct=20 values, and assuming STAX is the registered name of your STAX service and=20 EVENT is the registered name of your event service)=20 The STAX Monitor does this via the startMonitor() method in=20 services/stax/monitor/STAXMonitorFrame.java (it it registers for other=20 subtypes too like Process, STAFCommand, Testcase, TestcaseStatus, Job,=20 etc. For example, here's the specific line in the startMonitor() method:=20 STAFResult registerResult =3D fHandle.submit2(=20 fEventMachine, fEventServiceName,=20 "REGISTER TYPE " + fStaxServiceName.toUpperCase() + "/" +=20 fStaxConfigMachine + "/" + fJobNumber +=20 " SUBTYPE Job SUBTYPE Block SUBTYPE Process " +=20 "SUBTYPE STAFCommand SUBTYPE Message " +=20 "SUBTYPE Testcase " + "SUBTYPE TestCaseStatus " +=20 "SUBTYPE subjob " + externalSubTypes.toString() +=20 " MAXATTEMPTS 1 ACKNOWLEDGETIMEOUT 1000 BYHANDLE");=20 Note that you might miss some messages that are generated at the beginning=20 of a STAX job while you're registering, which is why the STAX Monitor=20 submits a STAX EXECUTE request using the HOLD option so that it holds the=20 job until it's registered with the Event service for info about the STAX job and then submits a STAX RELEASE request to release the job.=20 Once your custom tool has registered with the Event service to be notified=20 (as shown above), the Event service will notify your custom tool that an event has occurred by queueing a message with queue type=20 "STAF/Service/Event". So, your custom tool would also need to have a=20 thread that submits a "GET WAIT" request to the QUEUE service in a=20 continuous loop to get the messages that it registered for. See the run()=20 method in services/stax/monitor/STAXMonitor.java. Read the Event Service=20 User's Guide for more information at=20 http://staf.sourceforge.net/current/event.htm. And read about the "Queue=20 Service" in the STAF User's Guide at=20 http://staf.sourceforge.net/current/STAFUG.htm#HDRQUEUESRV.=20 As an easier alternative, you could make sure that your STAX jobs also=20 logged any <message> elements (e.g. by either doing <message log=3D"1"> = or by setting the STAXLogMessage variable to 1), as any messages that are=20 important should be logged since messages sent via a <message> element are=20 not persistent (e.g. if no one is registered for the particular STAX job's=20 messages, then the messages are "lost"). Then you can obtain any messages=20 logged in the STAX Job User logs by submitting QUERY requests to the LOG service. For example, to query the STAX Job User log for Job ID 1 on stax=20 machine server1, you could run: STAF server1 LOG QUERY MACHINE=20 {STAF/Config/MachineNickname} LOGNAME STAX_Job_1_User. -------------------------------------------------------------- Sharon Lucas IBM Austin, lu...@us... (512) 838-8347 or Tieline 678-8347 "luksedj luksedj" <lu...@ho...>=20 Sent by: sta...@li...=20 05/22/2007 10:57 AM=20 To sta...@li...=20 cc =20 Subject [staf-users] STAX monitor events =20 =20 =20 Hello, I've spent some time today looking for a way to listen to the messages=20 that=20 come from the stax service. (<message> blocks in the STAX script). The=20 STAX=20 Monitor can show these live, and I found some similar questions on the=20 list=20 already. Although there answers hinted to the Event and Queue services,=20 I'm=20 still stuck. The point is that I launch my STAX jobs from a custom made tool and I want=20 to get feedback while the job is executing. I didn't find any type in the=20 event service that might be used by STAX to send its messages to the=20 monitor. I quickly scanned through the STAX source code also, but i don't find my way=20 there very well. I didn't found what i was looking for yet. Does anyone=20 have=20 an idea what event types I should listen for? thanks. luksedj _________________________________________________________________ A lot of passions? Collect all your personal info on one central location=20 ,=20 for free! http://get.live.com/live/features ------------------------------------------------------------------------ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ staf-users mailing list sta...@li... https://lists.sourceforge.net/lists/listinfo/staf-users ------------------------------------------------------------------------ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ staf-users mailing list sta...@li... https://lists.sourceforge.net/lists/listinfo/staf-users ------------------------------------------------------------------------ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ staf-users mailing list sta...@li... https://lists.sourceforge.net/lists/listinfo/staf-users ------------------------------------------------------------------------ - This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ staf-users mailing list sta...@li... https://lists.sourceforge.net/lists/listinfo/staf-users |