Programatically trim webspeed agents

Posted by jbijker on 17-Feb-2017 03:54

Hi all

We have a requirement where we want to trim all our webspeed agents at a specific time (i.e. no human intervention required), plus we need to catch all agents even if they are busy at that specific time. If you issue a trim command but an agent is busy it will simply skip that agent and it becomes difficult to ensure all agents were trimmed.

We've tried to build code into web-disp.p to detect a trim instruction and stop the agent by leaving the wait-for block. However, this is causing the request not to complete properly and we're getting the following HTML at the end of a half rendered page:

<HTML>
<HEAD>
<TITLE>WebSpeed error from messenger process (6019)</TITLE>
</HEAD>
<BODY BGCOLOR=" #ffffcc"="" text="#000000" link="#660066" vlink="#99000">
<h1>WebSpeed error from messenger process (6019)</h1>
<p>Msngr: Disconnecting with no header on WTA output web stream.  (5814)</p>

The broker log file shows:

[17/02/17@11:32:12.690+0200] P-006964 T-S-0045 1 UB ----------- ServerSocketsIPC read() IOException : java.net.SocketException: Connection reset :  Connection reset (8127)
[17/02/17@11:32:12.691+0200] P-006964 T-S-0045 1 UB ----------- ServerIPCException in getServerIPCMsg() : ServerIPC error: ubServerSocketsIPC.read() IOException: Connection reset. (8119)
[17/02/17@11:32:12.712+0200] P-006964 T-S-0045 1 UB ----------- Posted EAbnormalShutdownServerEvent for PID: 8420

Does anyone have some clever ideas to get around this, i.e. gracefully shut down a specific agent?

OE11.3 32-bit on Windows and 64-bit on Unix.

Regards

Johan

Posted by Srinivas Munigala on 17-Feb-2017 05:15

Hi Johan,

To solve your problem, Progress introduced a new feature called "AppServer Refresh" in OpenEdge 11.6.0 version. It allows the users to trim and restart individual agents gradually to allow new agents to replace older agents. Users can issue a "-refresh" command form ASBMAN or WTBMAN to perform the refresh action. The refresh operation tries to maintain run-time capacity at equal to or greater than what it was at the time refresh started. For more information, please go through the following documentation:

documentation.progress.com/.../index.html

Thanks,

Srinivas Munigala

All Replies

Posted by Srinivas Munigala on 17-Feb-2017 05:15

Hi Johan,

To solve your problem, Progress introduced a new feature called "AppServer Refresh" in OpenEdge 11.6.0 version. It allows the users to trim and restart individual agents gradually to allow new agents to replace older agents. Users can issue a "-refresh" command form ASBMAN or WTBMAN to perform the refresh action. The refresh operation tries to maintain run-time capacity at equal to or greater than what it was at the time refresh started. For more information, please go through the following documentation:

documentation.progress.com/.../index.html

Thanks,

Srinivas Munigala

Posted by jbijker on 13-Mar-2017 01:34

Thanks Srinivas!

This thread is closed