I am working with ArcGIS Geoevent 10.5.1 and I have a push JSON to an external website output service setup. The output service runs fine for a period of time (Several days or so), but eventually it will fail. I think the cause of the failure is that geoevent isn't receiving http response back from the website within the timeout period. The timeout period is already set to 600 seconds. If geoevent doesn't receive the response within 10 minutes it is likely never going to receive a request. Is there a way to force geoevent to drop the data push if it fails to receive a http response and move on to the next data push rather than stopping the service all together? http requests back to geoevent could seemingly get lost for any number of reasons and it seems unreasonable for one failed response to stop the entire service. Also if there is no way to stop the failure is there a way to force the output service to restart? Ideally, I should not have to manually refresh the output service to get the service running again if it fails.
Thank you for your post regarding this behavior and for reaching out to the GeoNet community. In some instances the "Push JSON to an External Website" will go into an error state if the target HTTP server is down or not responding (which is different from a timeout). Unfortunately, once the output is in this error state, the only way to get it to reconnect is to manually restart the output. This issue has been submitted as:
[BUG-000122955: The "Push JSON to an External Website" will go into an error state if the target HTTP server is down or not responding.]
As a workaround, a Python script could be implemented that will monitor the outputs and restart them if not running. This is explained in the two GeoNet posts below:
Scripting tasks using the GeoEvent Admin API - Update Inputs:
Scripting tasks using the GeoEvent Admin API: