cdae2fc61c0a4e03c2dee7321c91a42aa1ebdfc0 hiram Mon Sep 9 15:43:17 2019 -0700 now getting hgTables into the earlyBotCheck() game and fixup earlyBotCheck() to honor the exception list and default to a delay fraction value of 1.0 refs #23217 diff --git src/hg/lib/botDelay.c src/hg/lib/botDelay.c index 524c0ac..ea8f0d4 100644 --- src/hg/lib/botDelay.c +++ src/hg/lib/botDelay.c @@ -248,33 +248,41 @@ "To use the genome browser functionality from a Unix command line, " "please read <a href='http://genome.ucsc.edu/FAQ/FAQdownloads.html#download36'>our FAQ</a> on this topic. " "For further help on how to access our data from a command line, " "or if " "you think this delay is being imposed unfairly, please contact genome-www@soe.ucsc.edu." ,hogHost, asctime(localtime(&now)), botDelayMillis); puts("</body></html>"); cgiExitTime(cgiExitName, enteredMainTime); exit(0); } /* static void hogExit() */ boolean earlyBotCheck(long enteredMainTime, char *cgiName, double delayFrac, int warnMs, int exitMs) /* similar to botDelayCgi but for use before the CGI has started any * output or setup the cart of done any MySQL operations. The boolean * return is used later in the CGI after it has done all its setups and - * started output so it can issue the warning. + * started output so it can issue the warning. Pass in delayFrac 0.0 + * to use the default 1.0 */ { boolean issueWarning = FALSE; + +if (botException()) /* don't do this if caller is on the exception list */ + return issueWarning; + +if (delayFrac < 0.000001) /* passed in zero, use default 1.0 */ + delayFrac = 1.0 + botDelayMillis = hgBotDelayTimeFrac(delayFrac); if (botDelayMillis > 0) { sleep1000(botDelayMillis); if (botDelayMillis > warnMs) { if (botDelayMillis > exitMs) hogExit(cgiName, enteredMainTime); else issueWarning = TRUE; } } return issueWarning; } /* boolean earlyBotCheck() */