From 4a25da5043d30d059d80213fb0bdef93f9d44471 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Thu, 17 Aug 2017 16:58:49 -0400 Subject: [PATCH] cron logging --- src/Jobs/Program.cs | 59 ++++++++++++++++++++++++++++++--------------- src/Jobs/crontab | 3 ++- 2 files changed, 42 insertions(+), 20 deletions(-) diff --git a/src/Jobs/Program.cs b/src/Jobs/Program.cs index 098cdf4124..2ec1173b19 100644 --- a/src/Jobs/Program.cs +++ b/src/Jobs/Program.cs @@ -17,14 +17,25 @@ namespace Bit.Jobs public static void Main(string[] args) { var parameters = ParseParameters(args); - var host = new WebHostBuilder() - .UseContentRoot(parameters.ContainsKey("d") ? parameters["d"] : Directory.GetCurrentDirectory()) - .UseStartup() - .UseServer(new NoopServer()) - .Build(); + try + { + var host = new WebHostBuilder() + .UseContentRoot(parameters.ContainsKey("d") ? parameters["d"] : Directory.GetCurrentDirectory()) + .UseStartup() + .UseServer(new NoopServer()) + .Build(); - _logger = host.Services.GetRequiredService>(); - _licensingService = host.Services.GetRequiredService(); + _logger = host.Services.GetRequiredService>(); + _licensingService = host.Services.GetRequiredService(); + } + catch(Exception e) + { + if(_logger != null) + { + _logger.LogCritical(1, e, "Error while bootstrapping."); + } + throw e; + } MainAsync(parameters).Wait(); } @@ -36,19 +47,29 @@ namespace Bit.Jobs return; } - switch(parameters["j"]) + _logger.LogInformation("Starting job '{0}'.", parameters["j"]); + + try { - case "validate-licenses": - await _licensingService.ValidateOrganizationsAsync(); - break; - case "refresh-licenses": - // TODO - break; - case "hello": - _logger.LogInformation("Hello World!"); - break; - default: - break; + switch(parameters["j"]) + { + case "validate-licenses": + await _licensingService.ValidateOrganizationsAsync(); + break; + case "refresh-licenses": + // TODO + break; + case "alive": + _logger.LogInformation(DateTime.UtcNow.ToString()); + break; + default: + break; + } + } + catch(Exception e) + { + _logger.LogError(2, e, "Error performing job."); + throw e; } } diff --git a/src/Jobs/crontab b/src/Jobs/crontab index ba0c36b08f..98d569e35f 100644 --- a/src/Jobs/crontab +++ b/src/Jobs/crontab @@ -1,2 +1,3 @@ -* * * * * root dotnet /jobs/Jobs.dll -d /jobs -j hello >> /var/log/cron.log 2>&1 +0 * * * * root dotnet /jobs/Jobs.dll -d /jobs -j alive >> /var/log/cron.log 2>&1 +0 */6 * * * root dotnet /jobs/Jobs.dll -d /jobs -j validate-licenses >> /var/log/cron.log 2>&1 # An empty line is required at the end of this file for a valid cron file. \ No newline at end of file