This content has been marked as final. Show 1 reply
I don't know the answer to your question but I suspect it will be "no". But, having said that, a lot of what you want to do may still be possible.
You can write code to remotely get information about the server. For example, you can use WMI (windows management instrumentation) to retrieve quite a lot of information about what is going on. Besides some of this information possibly being useful for your purpose, the fact that the retrieval fails would indicate a dead server.
You can see if the service itself is running but I don't know if WMI can tell you if the Central Pro process has halted or hung. We have written several custom agents and one or two will occasionally hang instead of terminating properly. This is a nuisance for us because we are only running a single instance of Central at this time and when this happens all form processing stops until staff complain that nothing is processing and I access the server and find that the agent didn't terminate. At that point it is a simple matter to manually terminate it using the task manager. Fortunately, in the 9 months we've been in production mode this has only happened a couple of times. I have yet to figure out how to programmatically determine that this has happened.
We have written programs to email us when the service itself terminates unexpectedly and when Central shuts down. We've never experienced the service itself terminating but certain errors will cause it to shut down and stop processing. There probably is a way but we haven't figured out how to programattically start it so once it shuts down it has to be manually started again.
We have written our processes so that when the destination server isn't accessible the process will automatically switch to a "backup" server or queue the data for automatically trying later, depending on what the process is. The user interface process is the one that switches to a server in another office while the agents that run unattended on the servers (to update the database on another server, for example) do the queueing. The agents also send an email when the queue process is initiated so we are aware of the problem and can immediately look into it.
You could also write your own "port listener" to communicate with that might be able to let you know the status of things.
I hope this gives you some ideas of what you can do even without the Adobe software being able to provide the information.