Feature Focus: Request Management

What is Request Management?

Request Management is the ability to view and administer running requests on your server. Not only can individual requests be listed, but also the underlying threads.

How do I list the running requests?

From the FusionReactor Administrator, click "Running Requests" from the table of contents (Requests section) and you will see the Running Requests screen. It will look something like this:

Screenshot

At the top of the screen shot you will see the refresh bar. You can use this to manually or automatically update the running requests listed below. For each request shown you will see the time at which it began, the IP address of the machine which created it, the page which was actually requested, the amount of time it has been running and the state of the memory when this request entered the system. Above the running requests you will also see the state of the memory right now.

How do I list old requests?

From the FusionReactor Administrator, click "Request History" from the table of contents (Requests section) and you will see the Request History screen. It will look something like this:

Screenshot

As you can see, this screen is similar to the Running Requests page. You can see all old requests (latest at the top) and you can periodically refresh the page using the update bar. Unlike the Running Requests page, when a request is listed here it displays the time at which is finished executing (as opposed to the start time,) it shows the final execution time and it also shows the HTTP return code which was returned by this request.

How do I list running threads?

From the FusionReactor Administrator, click "List All Threads" from the table of contents (Resources) and you will see the Running Threads screen. It will look something like this:

Screenshot

Again, as with the two previous screens, the update bar can be used to periodically refresh this page.

Queued Requests (due to Crash Protection)

If there are requests queued due to Crash Protection then they will be listed below the currently running requests. The queued requests are listed in the same format as the running requests (see above) but there is an extra column giving you the reason that the request was queued.

Sorting Requests

You can change the order in which requests are displayed on this page by clicking on any of the column titles. Clicking on a title for a second time will reverse the order on that column.

Managing Requests

Each request listed on this page has four icons next to it. They are:

  • Stack Trace: Clicking this button will take you to the Stack Trace page, allowing you to see the current Java stack trace of the request.
  • Request Detail: Clicking this button will take you to the Request Details page, allowing you to access all information associated with a request; e.g cookies, JDBC, headers and User Trace Markers.
  • Kill Request: Clicking this button allows you to manually kill any tracked request. You will be asked if you are sure. Click on OK to kill the request.
  • Add to CP Restrictions: If you click this button then you will be taken to the Crash Protection Restrictions page which will be filled out for this request.

As well as the icons, you can also Stack Trace or Kill All currently running requests by using the two buttons ("Stack Trace ALL" and "Kill ALL") above the request list.

How do I kill a request?

On the Running Requests and Running Threads page you will see two icons at the start of each row. The first icon will perform a stack trace. The second icon (a white cross on a red background) will enable you to kill a running request. If you click on it then you will be shown a dialog box asking if you are sure:

Screenshot

Clicking OK will terminate that request. Be aware that killing requests should be a last resort as killing a request part way through execution is inherently unsafe. As well as killing an individual request it is also possible to kill all requests by clicking on the "Kill ALL" button from the Running Requests page. Additionally, if you are viewing a stack trace of a running request or thread then you also have to opportunity to kill it from there.

Why would I want to kill a request?

There are many reasons why a request may get out of control. It may be left running for hours, it may be using up a large amount of memory or other system resources. You may simply have accidentally started a long running job and don't want it to leave it to re-write its output. In these cases you would normally have to restart ColdFusion MX in order to stop these processes from completing. Killing a request gives you the ability to stop a single request without affecting other running pages and without stopping people from accessing the whole server during a restart period.

advert
Testimonials
Adobe Solution Partner CFDJ / WebDJ Readers Choice Award Finalist