Hi Dojo
Is it possible to modify the timeout time of an individual HTTP session using a read/write parameter?
The device that is being polled is actually a network monitoring system. It takes quite some time to create the response for the related command. The size of the response depends on the amount of devices that are connected to the network monitoring system. To give you an idea, the HTTP session timeout time must be set to 10 000 ms to be able to retrieve a response that contains info of 175 devices in XML format.
Since the amount of devices is going to increase and we don't prefer to change the value of the timeout attribute in the protocol XML file every time (timeout attribute | DataMiner Docs), we thought an adjustable timeout time for this specific session would make sense.
We also have the option to implement a new API call in the protocol that can request the same info for a single device. This could be an alternative approach but will result in a looping (buffer) mechanism which will execute 175 requests during one poll cycle.
What would be the best approach here?
Thank you in advance!
Kind regards
Hi Miguel, the ‘timer base’ has an impact on the timers, on how often they go off (e.g. each 10s instead of each 5s), not on the timeout on how long to wait for a response to enter.
Hi Laurens,
Thanks for the correction. Duly noted!
Hi Michiel,
As far as I'm aware it's not possible yet to link the timeout to the value of a parameter.
-What could be possible is to work via a multi-threaded timer for HTTP communication. In there it is possible to configure the timeout value. For more info, see help .
Something to also consider is the impact that the request has on the data source when requesting everything -> how big is the impact on CPU/memory when requesting everything vs requesting per item? If it takes 10s then I can imagine that it has a big impact on the other side? So it seems that requesting it per item could also be a valid alternative, assuming that it will not take hours to request it per item and there is not a costly bandwidth to pass the data (as there will be overhead with all the messages). In SLPort there was also the problem with the packet limit if it's above some value (I thought 64kB), so you also might want to check that RN if it will be deployed on the correct DataMiner version.
Something to also take into account: as it is implemented to request everything and wait for 10s, it means that during that time there is nothing else that the operator can do (e.g. execute an urgent set). If this is split up in smaller requests then a set request can slip in between without having to wait.
Hi Laurens. Thank you very much for your answer! It’s clear. We will discuss your ideas before proceeding with the development. Thank you.
Hi Michiel,
You mentioned that an option is to modify the timeout attribute in the protocol. Is it not an option to use the general parameter ‘timer base’? Using the timer base, the protocol does need to be modified. A possible drawback with this option is that the timer base parameter affects all timers (not only the one that you are interested to update)