Fossil SCM
When a request is denied due to excessive load average, send a 503 reply code. Also: Enhance the request denied message to show the current load average and the load average limit.
Commit
d0fa1578402362b61acd449a9d077544c8dc3d54
Parent
117a0f6952909f9…
1 file changed
+5
-2
+5
-2
| --- src/loadctrl.c | ||
| +++ src/loadctrl.c | ||
| @@ -54,11 +54,14 @@ | ||
| 54 | 54 | void load_control(void){ |
| 55 | 55 | double mxLoad = atof(db_get("max-loadavg", "0")); |
| 56 | 56 | if( mxLoad<=0.0 || mxLoad>=load_average() ) return; |
| 57 | 57 | |
| 58 | 58 | style_header("Server Overload"); |
| 59 | - @ <p>The server load is currently too high. | |
| 60 | - @ Please try again later.</p> | |
| 59 | + @ <h2>The server load is currently too high. | |
| 60 | + @ Please try again later.</h2> | |
| 61 | + @ <p>Current load average: %f(load_average()).<br /> | |
| 62 | + @ Load average limit: %f(mxLoad)</p> | |
| 61 | 63 | style_footer(); |
| 64 | + cgi_set_status(503,"Server Overload"); | |
| 62 | 65 | cgi_reply(); |
| 63 | 66 | exit(0); |
| 64 | 67 | } |
| 65 | 68 |
| --- src/loadctrl.c | |
| +++ src/loadctrl.c | |
| @@ -54,11 +54,14 @@ | |
| 54 | void load_control(void){ |
| 55 | double mxLoad = atof(db_get("max-loadavg", "0")); |
| 56 | if( mxLoad<=0.0 || mxLoad>=load_average() ) return; |
| 57 | |
| 58 | style_header("Server Overload"); |
| 59 | @ <p>The server load is currently too high. |
| 60 | @ Please try again later.</p> |
| 61 | style_footer(); |
| 62 | cgi_reply(); |
| 63 | exit(0); |
| 64 | } |
| 65 |
| --- src/loadctrl.c | |
| +++ src/loadctrl.c | |
| @@ -54,11 +54,14 @@ | |
| 54 | void load_control(void){ |
| 55 | double mxLoad = atof(db_get("max-loadavg", "0")); |
| 56 | if( mxLoad<=0.0 || mxLoad>=load_average() ) return; |
| 57 | |
| 58 | style_header("Server Overload"); |
| 59 | @ <h2>The server load is currently too high. |
| 60 | @ Please try again later.</h2> |
| 61 | @ <p>Current load average: %f(load_average()).<br /> |
| 62 | @ Load average limit: %f(mxLoad)</p> |
| 63 | style_footer(); |
| 64 | cgi_set_status(503,"Server Overload"); |
| 65 | cgi_reply(); |
| 66 | exit(0); |
| 67 | } |
| 68 |