Table of Contents
- Introduction
- Installation
- Handling Challenger

  | · Introduction · User Interface · Restarting · Log Files · Status · Maintenance · Threads

- Virtual Servers
- Configuration Examples
- Modules
- Filesystems
- RXML Tags
- Graphics
- Proxy
- Databases
- Miscellaneous Modules
- Security Considerations
- Scripting
- Frontpage
- Upgrading
- Third Party Extensions
- Portability
- Reporting Bugs
- Appendix

Restarting
The server uses a process which runs for a long time, sometimes months, while modules are installed and reloaded. Challenger is designed for this, but during months of operation many things can happen. If the server suddenly starts using more resources than normal, or responses are slower, it might be a good idea to restart it.

Restarting can be done either with the Shutdown/Shut down Roxen action or by killing its pike process. The start script will ensure that the server is restarted.

Restarting the server takes from about 10 seconds up to a few minutes depending on server configuration. This is intentional, as Challenger still needs to finish serving the requests which were active when the shutdown procedure was initiated. The only noticeable effect when restarting should be that the server will not respond during startup.

Automatically restarting Challenger
It is possible to schedule restarts at regular intervals, setting Global Variables/Automatic Restart... The variable specifies the number of days between automatic restarts. Scheduling an automatic restart every 30th day might be a good idea.

Anti Block System
The fact that Challenger consists of only one process can sometimes be a drawback. Should the process hang or enter an endless loop, the whole site will be down. To recover from such situations, Challenger offers an ABS, or Anti Block System, to be configured under Global Variables/Anti-Block-System. The ABS will check if the server responds within a certain amount of time and else restart the server automatically.

You can set the timeout the ABS will use before checking if the server is still up, by changing the Global Variables/Anti-Block-System/Timeout variable. If this timeout is too fast the ABS may assume that your server is hanged while it just slow to respond. By examining old debug logs it is possible to see if the ABS has unnecissarily restarted the server.

PID file
The process ID number of the pike process and the start script will be written to a file, by default `/tmp/roxen_pid:$uid`. It can be configured through Global Variables/PID file. The PID file can be used by an external program or script to restart the server.