{"id":12815,"date":"2025-02-17T07:12:24","date_gmt":"2025-02-17T15:12:24","guid":{"rendered":"https:\/\/www.coretechnologies.com\/blog\/?p=12815"},"modified":"2025-03-15T06:34:39","modified_gmt":"2025-03-15T13:34:39","slug":"version-16-advanced-failure-detection","status":"publish","type":"post","link":"https:\/\/www.coretechnologies.com\/blog\/alwaysup\/version-16-advanced-failure-detection\/","title":{"rendered":"AlwaysUp 16 Handles Common Application Failures &mdash; So You Don&#8217;t Have To"},"content":{"rendered":"<div align=\"center\"><img loading=\"lazy\" decoding=\"async\" class=\"no-lazy-load\" style=\"margin-bottom:20px;\" src=\"\/blog\/images\/whats-new-447x150.webp\" title=\"AlwaysUp 16 Handles Common Failures, So You Don't Have To\" alt=\"AlwaysUp 16 Handles Common Failures, So You Don't Have To\" border=\"0\" width=\"447\" height=\"150\" \/><\/div>\n<p>As AlwaysUp enters its 21st year of babysitting important applications &mdash; and reducing interruptions during dinner time &mdash; we&#8217;re pleased to release version 16 to all customers.<\/p>\n<p>Version 16 is a significant step forward. Most notably, the powerful sanity check feature has been overhauled to prioritize ease of use while retaining flexibility. And beyond that, a handful of fixes and improvements make life easier for anyone looking to run an application as a Windows Service. Dig into the details below.<\/p>\n<hr class=\"blog-section\">\n<h2 class=\"blog-caption\">AlwaysUp continuously monitors your application and quickly restarts it if it stops working<\/h2>\n<p>With regards to failure detection, AlwaysUp has always gone beyond the basics. Most notably, the powerful sanity check feature &mdash; which has been included since version 3 &mdash; allows you plug in your own executable and check for any kind of failure you like, not just crashes and hangs.<\/p>\n<p>But plugging in a sanity check could be difficult. The truth is that not everyone has the time or expertise to write code or compose a batch file. And the somewhat predictable consequence, is that the sanity check feature was limited to the technically savvy.<\/p>\n<p>AlwaysUp 16 changes all that. Now, anyone can introduce a sophisticated sanity check &mdash; in seconds.<\/p>\n<p>For example, let&#8217;s say that the application you&#8217;ve installed as a Windows Service with AlwaysUp runs a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Web_server\" target=\"_blank\">HTTP\/S web server<\/a>. That&#8217;s a very common practice these days, as enterprise programs like <a href=\"\/products\/AlwaysUp\/Apps\/InstallPrometheusAsAWindowsService.html\">Prometheus<\/a> and <a href=\"\/products\/AlwaysUp\/Apps\/LaunchNgrokAsAWindowsService.html\">ngrok<\/a> illustrate.<\/p>\n<p>You&#8217;ll probably want to make sure that the web server component doesn&#8217;t fail because if it does, you&#8217;d have to jump onto the server and restart the software. Here&#8217;s how you would set up a sanity check to guard against that:<\/p>\n<ol style=\"margin-bottom:24px\">\n<li>\n<p>Edit your application in AlwaysUp.<\/p>\n<\/li>\n<li>\n<p>Check the <b>Whenever it fails a periodic sanity check<\/b> box and click the <b>Set<\/b> button on the right:<\/p>\n<div align=\"center\"><a href=\"\/products\/AlwaysUp\/SanityChecks\/alwaysup-activate-sanity-check-option.png\" class=\"zoomPopup\" title=\"Configure an AlwaysUp sanity check\" target=\"_blank\"> <img decoding=\"async\" class=\"image-padding\" src=\"\/products\/AlwaysUp\/SanityChecks\/alwaysup-activate-sanity-check-option.png\" border=\"0\" alt=\"Configure an AlwaysUp sanity check\" title=\"Configure an AlwaysUp sanity check\" \/><\/a><\/div>\n<\/li>\n<li>\n<p>In the <b>Add Sanity Check<\/b> window, choose <b>Check that a web server is responding properly<\/b> from the list and click <b>Next<\/b>:<\/p>\n<div align=\"center\"><a href=\"\/products\/AlwaysUp\/SanityChecks\/choose-web-server-sanity-check.png\" class=\"zoomPopup\" title=\"Choose the web server sanity check\" target=\"_blank\"><img decoding=\"async\" class=\"image-padding\" src=\"\/products\/AlwaysUp\/SanityChecks\/choose-web-server-sanity-check.png\" border=\"0\" alt=\"Choose the web server sanity check\" title=\"Choose the web server sanity check\" \/><\/a><\/div>\n<\/li>\n<li>\n<p>On this page, enter the URL of the page that AlwaysUp should check. That address will probably be rooted at localhost (or 127.0.0.1) since you&#8217;re checking a local application:<\/p>\n<div align=\"center\"><a href=\"\/products\/AlwaysUp\/SanityChecks\/web-server-sanity-check-settings.png\" class=\"zoomPopup\" title=\"Enter the URL to monitor\" target=\"_blank\"><img decoding=\"async\" class=\"image-padding\" src=\"\/products\/AlwaysUp\/SanityChecks\/web-server-sanity-check-settings.png\" border=\"0\" alt=\"Enter the URL to monitor\" title=\"Enter the URL to monitor\" \/><\/a><\/div>\n<\/li>\n<li>\n<p>After clicking <b>Next<\/b>, specify how often AlwaysUp should ping your web server:<\/p>\n<div align=\"center\"><a href=\"\/products\/AlwaysUp\/SanityChecks\/specify-web-server-sanity-check-frequency.png\" class=\"zoomPopup\" title=\"Specify the sanity check frequency\" target=\"_blank\"><img decoding=\"async\" class=\"image-padding\" src=\"\/products\/AlwaysUp\/SanityChecks\/specify-web-server-sanity-check-frequency.png\" border=\"0\" alt=\"Specify the sanity check frequency\" title=\"Specify the sanity check frequency\" \/><\/a><\/div>\n<\/li>\n<li>\n<p>Finally, confirm your settings and click the <b>Add<\/b> button to save your new sanity check:<\/p>\n<div align=\"center\"><a href=\"\/products\/AlwaysUp\/SanityChecks\/web-server-sanity-check-confirmation.png\" class=\"zoomPopup\" title=\"Confirm your sanity check\" target=\"_blank\"><img decoding=\"async\" class=\"image-padding\" src=\"\/products\/AlwaysUp\/SanityChecks\/web-server-sanity-check-confirmation.png\" border=\"0\" alt=\"Confirm your sanity check\" title=\"Confirm your sanity check\" \/><\/a><\/div>\n<\/li>\n<\/ol>\n<p>And with that sanity check in place, AlwaysUp will visit the URL every 5 minutes. If the URL doesn&#8217;t load &mdash; or returns an invalid response &mdash; AlwaysUp will promptly restart your application.<\/p>\n<p>Check out the <a href=\"\/products\/AlwaysUp\/SanityChecks\/\">AlwaysUp sanity checks page<\/a> for the full complement of built-in sanity checks available today.<\/p>\n<hr class=\"blog-section\">\n<h2 class=\"blog-caption\">No more errors when your script completes very quickly<\/h2>\n<p>Most customers rely on AlwaysUp to manage their long-running applications. In fact, keeping an executable running 24\/7 is the norm. AlwaysUp launches those applications at boot and they never stop running until the machine shuts down (or something goes wrong).<\/p>\n<p>But there&#8217;s another use case that has grown in popularity over the years. Instead of starting an application and expecting it to run for a long time, some customers use AlwaysUp to run a script over and over again. And in that scenario, the script may only run for a few seconds.<\/p>\n<p>For instance, one customer uses AlwaysUp start a Python script that scans a folder and imports its files into a database. Once the script completes, they have AlwaysUp launch it again in fifteen minutes. <\/p>\n<p>If there are lots of files, the script may run for 30-40 seconds. On the other hand, if there are no files, the script returns almost immediately because there is no work to do.<\/p>\n<p>Unfortunately, that &#8220;quick exit&#8221; would occasionally confuse AlwaysUp. Did the script do its work and complete normally? Or was there a problem that caused it to abort? More pointedly, <b>should AlwaysUp treat the speedy exit as success or failure?<\/b><\/p>\n<p>Instead of trying to determine the answer programmatically &mdash; which has proven to be quite challenging &mdash; we decided to put you in the driver&#8217;s seat. After all, you understand your script much better than we do! \ud83d\ude42<\/p>\n<p>So if you&#8217;re running a program or script that can run and finish quickly &mdash; in less than five seconds &mdash; please enable this new option on the <b>Restart<\/b> tab:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/alwaysup-tolerate-quick-applications.png\" class=\"zoomPopup\" title=\"Don't panic if your application completes very quickly\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/alwaysup-tolerate-quick-applications.png\" title=\"Don't panic if your application completes very quickly (click to enlarge)\" alt=\"Don't panic if your application completes very quickly\" border=\"0\" \/><\/a><\/div>\n<p>Once that&#8217;s in place, AlwaysUp won&#8217;t assault you with phantom errors when your application does its work and exits very quickly.<\/p>\n<hr class=\"blog-section\">\n<h2 class=\"blog-caption\">Other fixes &amp; improvements<\/b><\/h2>\n<ul>\n<li>\n<p>When setting up <a href=\"\/products\/AlwaysUp\/AlwaysUp_FAQ.html#AvoidSession0\">automatic logon to avoid Session 0<\/a>, your auto-start applications will now be launched in the new session by default. That&#8217;s what most customers want. As a result, this option in the <b>Autologon<\/b> window will be checked by default:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/alwaysup-autologon-autostart-in-session.png\" class=\"zoomPopup\" title=\"Auto-start AlwaysUp applications in the logon session\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/alwaysup-autologon-autostart-in-session.png\" title=\"Auto-start AlwaysUp applications in the logon session (click to enlarge)\" alt=\"Auto-start AlwaysUp applications in the logon session\" border=\"0\" \/><\/a><\/div>\n<p>Note that you can find the Autologon window by selecting <b>Autologon<\/b> from the <b>Tools<\/b> menu in AlwaysUp.\n<\/li>\n<li>\n<p>Improved efficiency when processing records from the Windows Event Logs. The new code makes a difference when AlwaysUp has to sift through tens of thousands of records in the System or Application logs.<\/p>\n<\/li>\n<li>\n<p>When running a custom sanity check program\/script, AlwaysUp will now treat a failure to launch the program as an inconclusive result. The application won&#8217;t be restarted, as it would have been in previous versions.<\/p>\n<p>We made this change to avoid spurious restarts, because those failures were likely unrelated to the application being monitored.<\/p>\n<\/li>\n<li>\n<p>Full support for the official release of <a href=\"https:\/\/www.microsoft.com\/en-us\/evalcenter\/evaluate-windows-server-2025\" target=\"_blank\">Windows Server 2025<\/a> (build number 26100.2605). Recent releases of AlwaysUp are also compatible with Server 2025, but version 16 is the best so far. \ud83d\ude42<\/p>\n<\/li>\n<\/ul>\n<p style=\"padding-top:10px\">\nAs usual, please review the <a href=\"\/products\/AlwaysUp\/VersionHistory.html\">release notes<\/a> for the full list of features, fixes and improvements included in AlwaysUp version 16.\n<\/p>\n<hr class=\"blog-section\">\n<p><a name=\"upgrading\"><\/a><\/p>\n<h2 class=\"blog-caption\">Upgrading to AlwaysUp 16<\/h2>\n<p>If you bought <b>AlwaysUp version 15 (after December 2023), you can upgrade to version 16 for free<\/b>. Simply download and <a href=\"\/products\/AlwaysUp\/AlwaysUp_FAQ.html#upgrading\">install &#8220;over the top&#8221;<\/a> to preserve your existing applications and all settings. Your registration code will continue to work as well.<\/p>\n<p>If you bought <b>AlwaysUp version 14 or earlier (before December 2023), you&#8217;ll have to purchase a discounted upgrade to use version 16<\/b>. Please <a href=\"\/products\/AlwaysUp\/purchase-upgrade.html\">purchase upgrades here &mdash; you&#8217;ll save 50% off the regular price<\/a>.<\/p>\n<p>See the complete <a href=\"\/products\/AlwaysUp\/AlwaysUp_FAQ.html#upgrade\">upgrade policy<\/a> for additional details.<\/p>\n<p style=\"padding-top:10px\">Thank you for reading!<\/a><\/p>\n<div style=\"margin-top:30px\" align=\"center\">\n<div class=\"cta-button-1\">\n<table role=\"presentation\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" align=\"left\">\n<tbody>\n<tr>\n<td align=\"center\"><a href=\"\/blog\/tag\/alwaysup-tag\/\" title=\"More about AlwaysUp\"><span><nobr>More about AlwaysUp&#8230;<\/nobr><\/span><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<!-- relpost-thumb-wrapper --><div class=\"relpost-thumb-wrapper\"><!-- filter-class --><div class=\"relpost-thumb-container\"><style>.relpost-block-single-image, .relpost-post-image { margin-bottom: 10px; }<\/style><h3>You may also like...<\/h3><div style=\"clear: both\"><\/div><div style=\"clear: both\"><\/div><!-- relpost-block-container --><div class=\"relpost-block-container relpost-block-column-layout\" style=\"--relposth-columns: 3;--relposth-columns_t: 2; --relposth-columns_m: 2\"><a href=\"https:\/\/www.coretechnologies.com\/blog\/alwaysup\/version-15-5-released\/\"class=\"relpost-block-single\" ><div class=\"relpost-custom-block-single\"><img decoding=\"async\" loading=\"lazy\" class=\"relpost-block-single-image\" alt=\"AlwaysUp 15.5: Advanced Support for PowerShell, OneDrive, and more\"  src=\"https:\/\/www.coretechnologies.com\/blog\/wp-content\/uploads\/new-update-150x150-2.webp\" style=\"aspect-ratio:1\/1\" style=\"aspect-ratio:1\/1\"><\/img><div class=\"relpost-block-single-text\"  style=\"height: 75px;font-family: Arial;  font-size: 12px;  color: #333333;\"><h2 class=\"relpost_card_title\">AlwaysUp 15.5: Advanced Support for PowerShell, OneDrive, and more<\/h2><\/div><\/div><\/a><a href=\"https:\/\/www.coretechnologies.com\/blog\/alwaysup\/version-14-released\/\"class=\"relpost-block-single\" ><div class=\"relpost-custom-block-single\"><img decoding=\"async\" loading=\"lazy\" class=\"relpost-block-single-image\" alt=\"AlwaysUp 14: Improved Performance, Support for Emby Server, Java WAR Files\"  src=\"https:\/\/www.coretechnologies.com\/blog\/wp-content\/uploads\/new-release-green-150x150-1.webp\" style=\"aspect-ratio:1\/1\" style=\"aspect-ratio:1\/1\"><\/img><div class=\"relpost-block-single-text\"  style=\"height: 75px;font-family: Arial;  font-size: 12px;  color: #333333;\"><h2 class=\"relpost_card_title\">AlwaysUp 14: Improved Performance, Support for Emby Server, Java WAR Files<\/h2><\/div><\/div><\/a><a href=\"https:\/\/www.coretechnologies.com\/blog\/service-protector\/version-9-5\/\"class=\"relpost-block-single\" ><div class=\"relpost-custom-block-single\"><img decoding=\"async\" loading=\"lazy\" class=\"relpost-block-single-image\" alt=\"Service Protector 9.5 Helps You Bulletproof Your Network Services\"  src=\"https:\/\/www.coretechnologies.com\/blog\/wp-content\/uploads\/new-release-1-150x150-1.webp\" style=\"aspect-ratio:1\/1\" style=\"aspect-ratio:1\/1\"><\/img><div class=\"relpost-block-single-text\"  style=\"height: 75px;font-family: Arial;  font-size: 12px;  color: #333333;\"><h2 class=\"relpost_card_title\">Service Protector 9.5 Helps You Bulletproof Your Network Services<\/h2><\/div><\/div><\/a><\/div><!-- close relpost-block-container --><div style=\"clear: both\"><\/div><\/div><!-- close filter class --><\/div><!-- close relpost-thumb-wrapper -->","protected":false},"excerpt":{"rendered":"<p>As AlwaysUp enters its 21st year of babysitting important applications &mdash; and reducing interruptions during dinner time &mdash; we&#8217;re pleased to release version 16 to all customers. Version 16 is a significant step forward. Most notably, the powerful sanity check &hellip; <a href=\"https:\/\/www.coretechnologies.com\/blog\/alwaysup\/version-16-advanced-failure-detection\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":12827,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[365,26,348,349,54,333,109,138,350],"class_list":["post-12815","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-alwaysup","tag-adverse-events-sanity-check","tag-alwaysup-tag","tag-check-drive-sanity-check","tag-check-network-sanity-check","tag-check-website-sanity-check","tag-network-connections-sanity-check","tag-new-release","tag-sanity-check","tag-windows-server-2025"],"_links":{"self":[{"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/12815","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/comments?post=12815"}],"version-history":[{"count":27,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/12815\/revisions"}],"predecessor-version":[{"id":12911,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/12815\/revisions\/12911"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/media\/12827"}],"wp:attachment":[{"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/media?parent=12815"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/categories?post=12815"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/tags?post=12815"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}