Hi,
I'm retrieving a list of spooled files with format OSPL0200 using QGYOLSPL (list spooled files) and QGYGTLE (get list entry). The only criteria I am using on the QGYOLSPL API is output queue name and library. Also I am running the QGYOLSPL API asynchronously (initial retrieve count as 0), as I am interested in fast initial acquisition of data as opposed to a complete list. My program is working OK, and the list is seems to be asynchronously generated by an instance of a QGYSERVER job.
I decided to perform a test of the program over a massive output queue containing 50,000 spooled files. However, I found that the QGYOLSPL/QGYGTLE APIs hangs around for a considerable time before returning any data. As a rough estimation, it seems to take as long to get the initial data from the APIs as it does to do a WRKOUTQ to *PRINT. Once the API combination starts to return data, the information is returned very quickly, which in my view kind of defeats the objective of using these APIs completely.
Obviously the system is able to get access to spooled file information quickly, take WRKOUTQ MYOUTQ OUTPUT(*) for example. Even on my queue of 50,000 reports, the system's initial response containing data is returned within a few seconds.
Has anyone else had experience with these APIs, or know how the system is able to initially acquire data so quickly for the WRKOUTQ command (with OUTPUT(*)). As I mentioned previously the only criteria I have are all spooled files from a single queue. The arrival sequence is unimportant.
Regards.
I'm retrieving a list of spooled files with format OSPL0200 using QGYOLSPL (list spooled files) and QGYGTLE (get list entry). The only criteria I am using on the QGYOLSPL API is output queue name and library. Also I am running the QGYOLSPL API asynchronously (initial retrieve count as 0), as I am interested in fast initial acquisition of data as opposed to a complete list. My program is working OK, and the list is seems to be asynchronously generated by an instance of a QGYSERVER job.
I decided to perform a test of the program over a massive output queue containing 50,000 spooled files. However, I found that the QGYOLSPL/QGYGTLE APIs hangs around for a considerable time before returning any data. As a rough estimation, it seems to take as long to get the initial data from the APIs as it does to do a WRKOUTQ to *PRINT. Once the API combination starts to return data, the information is returned very quickly, which in my view kind of defeats the objective of using these APIs completely.
Obviously the system is able to get access to spooled file information quickly, take WRKOUTQ MYOUTQ OUTPUT(*) for example. Even on my queue of 50,000 reports, the system's initial response containing data is returned within a few seconds.
Has anyone else had experience with these APIs, or know how the system is able to initially acquire data so quickly for the WRKOUTQ command (with OUTPUT(*)). As I mentioned previously the only criteria I have are all spooled files from a single queue. The arrival sequence is unimportant.
Regards.
Comment