Introduction
Progress information for a synchronize action can be retrieved using the following HTTP command, sent to the connector's ACI port:
http://host:port/action=QueueInfo&QueueName=Fetch&QueueAction=Progress&Token=token
The QueueInfo action returns a report of the progress:
<autnresponse> <action>QUEUEINFO</action> <response>SUCCESS</response> <responsedata> <action> <token>MTYuMjguOTMuOToxMjM0OkZFVENIOjY5MDM4MzAzMA==</token> <status>Processing</status> <progress> <building_mode>false</building_mode> <percent>32</percent> <time_processing>5</time_processing> <estimated_time_remaining>10</estimated_time_remaining> <stage title="MYTASK1" status="Processing" weight="1" percent="32"> <stage title="Stage 1" status="Finished" weight="25"/> <stage title="Stage 2" status="Processing" weight="50" percent="15" progress="10" maximum="10"> <stage title="2.1" status="Processing" weight="50" percent="14" progress="7" maximum="50"/> <stage title="2.2" status="Pending" weight="50"/> </stage> <stage title="Stage 3" status="Pending" weight="25"/> </stage> </progress> </action> </responsedata> </autnresponse>
This example shows that the synchronize task is 32% complete, and that it is estimated to take a further 10 seconds to complete. It also gives a more detailed breakdown. Processing was split into three stages called “Stage 1”, “Stage 2” and “Stage 3”. "Stage 1" has finished and the connector is part way through “Stage 2”. This is further broken down into substages, “2.1” and “2.2”, and the connector is 14% of the way through stage “2.1”.
A user can request a progress report from any connector, but if progress reporting is not implemented the progress is reported to be 0% until the synchronize task is complete. To give a more accurate progress report, your implementation of the synchronize action must determine how much work there is to do and then report progress through that work.