Fix missing logfile
This commit is contained in:
@@ -13,6 +13,78 @@ namespace MarketData.Services
|
|||||||
{
|
{
|
||||||
public class MainService : IMainService
|
public class MainService : IMainService
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// This is the main entry point
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="args"></param>
|
||||||
|
/// <param name="configuration"></param>
|
||||||
|
public void RunService(String[] args,IConfiguration configuration)
|
||||||
|
{
|
||||||
|
Profiler profiler = new Profiler();
|
||||||
|
MDTrace.LogLevel = LogLevel.DEBUG;
|
||||||
|
String strLogFile = "marketdata.log";
|
||||||
|
Utility.DeleteFile(strLogFile);
|
||||||
|
Trace.Listeners.Add(new TextWriterTraceListener(strLogFile));
|
||||||
|
DateTime currentDate=DateTime.Now;
|
||||||
|
|
||||||
|
MDTrace.WriteLine(LogLevel.DEBUG,$"[RunService] Started @ {Utility.DateTimeToStringYYYYHMMHDDHHMMSSTT(currentDate)}");
|
||||||
|
GlobalConfig.Instance.Configuration = configuration; // This call sets up configuration stuff so it needs to be first.
|
||||||
|
DateTime maxHolidayDate =HolidayDA.GetMaxHolidayDate();
|
||||||
|
if(currentDate>maxHolidayDate)
|
||||||
|
{
|
||||||
|
Console.WriteLine(String.Format("There are no holidays defined in the system. Add holidays for year {0} into marketholidays table",currentDate.Year));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.Length < 1)
|
||||||
|
{
|
||||||
|
DisplayUsage();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
string arg = args[0].ToUpper();
|
||||||
|
MDTrace.WriteLine(LogLevel.DEBUG,$"[RunService] Argument {arg}");
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if(arg.Equals("LOADHEADLINESWATCHLIST"))
|
||||||
|
{
|
||||||
|
CommandArgs commandArgs=new CommandArgs(args);
|
||||||
|
if(!commandArgs.Has("WATCHLIST")){Console.WriteLine("LOADHEADLINESWATCHLIST REQUIRES WATCHLIST");return;}
|
||||||
|
else LoadHeadlinesWatchList(commandArgs.Coalesce<String>("WATCHLIST"));
|
||||||
|
}
|
||||||
|
else if(arg.Equals("LOADPREMARKETDATA"))
|
||||||
|
{
|
||||||
|
LoadPremarketData();
|
||||||
|
}
|
||||||
|
else if (arg.Equals("UPDATEDAILY2"))
|
||||||
|
{
|
||||||
|
CommandArgs commandArgs=new CommandArgs(args);
|
||||||
|
if(!commandArgs.Has("DATE")){Console.WriteLine("UPDATEDAILY2 MISSING DATE");return;}
|
||||||
|
UpdateDaily2(commandArgs.Coalesce<DateTime>("DATE"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DisplayUsage();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception exception)
|
||||||
|
{
|
||||||
|
MDTrace.WriteLine(LogLevel.DEBUG,exception.ToString());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
LocalPriceCache.GetInstance().Dispose();
|
||||||
|
GBPriceCache.GetInstance().Dispose();
|
||||||
|
}
|
||||||
|
MDTrace.WriteLine(LogLevel.DEBUG,$"[RunService] Done, total took {profiler.End()}(ms)");
|
||||||
|
}
|
||||||
|
|
||||||
|
// *********************************************************************************************************************************
|
||||||
|
// *********************************************************************************************************************************
|
||||||
|
// *********************************************************************************************************************************
|
||||||
|
|
||||||
public static void DisplayUsage()
|
public static void DisplayUsage()
|
||||||
{
|
{
|
||||||
MDTrace.WriteLine(LogLevel.DEBUG,$"USAGE");
|
MDTrace.WriteLine(LogLevel.DEBUG,$"USAGE");
|
||||||
@@ -57,7 +129,7 @@ namespace MarketData.Services
|
|||||||
String result=Console.ReadLine();
|
String result=Console.ReadLine();
|
||||||
if(null==result||!(result.ToUpper().Equals("Y")||result.ToUpper().Equals("YES")))return;
|
if(null==result||!(result.ToUpper().Equals("Y")||result.ToUpper().Equals("YES")))return;
|
||||||
}
|
}
|
||||||
Utility.RemoveLogFiles();
|
Utility.RemoveLogFilesExcept("marketdata.log"); // don't remove the current log file
|
||||||
int STAGE_1=0,STAGE_2=1,STAGE_3=2,STAGE_4=3,STAGE_5=4,STAGE_6=5,STAGE_7=6,STAGE_8=7,STAGE_9=8,STAGE_10=9,STAGE_11=10,STAGE_12=11,STAGE_FINAL=12;
|
int STAGE_1=0,STAGE_2=1,STAGE_3=2,STAGE_4=3,STAGE_5=4,STAGE_6=5,STAGE_7=6,STAGE_8=7,STAGE_9=8,STAGE_10=9,STAGE_11=10,STAGE_12=11,STAGE_FINAL=12;
|
||||||
DeletePriceWatchList("valuations",startDate.ToShortDateString());
|
DeletePriceWatchList("valuations",startDate.ToShortDateString());
|
||||||
DeletePriceWatchList("Momentum",startDate.ToShortDateString());
|
DeletePriceWatchList("Momentum",startDate.ToShortDateString());
|
||||||
@@ -527,67 +599,5 @@ namespace MarketData.Services
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RunService(String[] args,IConfiguration configuration)
|
}
|
||||||
{
|
|
||||||
Profiler profiler = new Profiler();
|
|
||||||
MDTrace.LogLevel = LogLevel.DEBUG;
|
|
||||||
String strLogFile = "marketdata.log";
|
|
||||||
Utility.DeleteFile(strLogFile);
|
|
||||||
Trace.Listeners.Add(new TextWriterTraceListener(strLogFile));
|
|
||||||
DateTime currentDate=DateTime.Now;
|
|
||||||
|
|
||||||
MDTrace.WriteLine(LogLevel.DEBUG,$"[RunService] Started @ {Utility.DateTimeToStringYYYYHMMHDDHHMMSSTT(currentDate)}");
|
|
||||||
GlobalConfig.Instance.Configuration = configuration; // This call sets up configuration stuff so it needs to be first.
|
|
||||||
DateTime maxHolidayDate =HolidayDA.GetMaxHolidayDate();
|
|
||||||
if(currentDate>maxHolidayDate)
|
|
||||||
{
|
|
||||||
Console.WriteLine(String.Format("There are no holidays defined in the system. Add holidays for year {0} into marketholidays table",currentDate.Year));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (args.Length < 1)
|
|
||||||
{
|
|
||||||
DisplayUsage();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
string arg = args[0].ToUpper();
|
|
||||||
MDTrace.WriteLine(LogLevel.DEBUG,$"[RunService] Argument {arg}");
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if(arg.Equals("LOADHEADLINESWATCHLIST"))
|
|
||||||
{
|
|
||||||
CommandArgs commandArgs=new CommandArgs(args);
|
|
||||||
if(!commandArgs.Has("WATCHLIST")){Console.WriteLine("LOADHEADLINESWATCHLIST REQUIRES WATCHLIST");return;}
|
|
||||||
else LoadHeadlinesWatchList(commandArgs.Coalesce<String>("WATCHLIST"));
|
|
||||||
}
|
|
||||||
else if(arg.Equals("LOADPREMARKETDATA"))
|
|
||||||
{
|
|
||||||
LoadPremarketData();
|
|
||||||
}
|
|
||||||
else if (arg.Equals("UPDATEDAILY2"))
|
|
||||||
{
|
|
||||||
CommandArgs commandArgs=new CommandArgs(args);
|
|
||||||
if(!commandArgs.Has("DATE")){Console.WriteLine("UPDATEDAILY2 MISSING DATE");return;}
|
|
||||||
UpdateDaily2(commandArgs.Coalesce<DateTime>("DATE"));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
DisplayUsage();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception exception)
|
|
||||||
{
|
|
||||||
MDTrace.WriteLine(LogLevel.DEBUG,exception.ToString());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
LocalPriceCache.GetInstance().Dispose();
|
|
||||||
GBPriceCache.GetInstance().Dispose();
|
|
||||||
}
|
|
||||||
MDTrace.WriteLine(LogLevel.DEBUG,$"[RunService] Done, total took {profiler.End()}(ms)");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -77,6 +77,7 @@ namespace MarketData.Utils
|
|||||||
DateTime date=javascriptEpoch+timespan;
|
DateTime date=javascriptEpoch+timespan;
|
||||||
return date;
|
return date;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void RemoveLogFiles(String strFolder=null)
|
public static void RemoveLogFiles(String strFolder=null)
|
||||||
{
|
{
|
||||||
if(null==strFolder)strFolder=Directory.GetCurrentDirectory();
|
if(null==strFolder)strFolder=Directory.GetCurrentDirectory();
|
||||||
@@ -94,6 +95,27 @@ namespace MarketData.Utils
|
|||||||
catch(Exception){;}
|
catch(Exception){;}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void RemoveLogFilesExcept(String exceptFile,String strFolder=null)
|
||||||
|
{
|
||||||
|
if(null==strFolder)strFolder=Directory.GetCurrentDirectory();
|
||||||
|
String[] logFiles=Directory.GetFiles(strFolder);
|
||||||
|
if(null==logFiles || 0==logFiles.Length)return;
|
||||||
|
logFiles=logFiles
|
||||||
|
.Where(x => x.EndsWith(".log",StringComparison.InvariantCultureIgnoreCase) &&
|
||||||
|
!x.Equals(exceptFile,StringComparison.InvariantCultureIgnoreCase)).ToArray<String>();
|
||||||
|
if(null==logFiles || 0==logFiles.Length)return;
|
||||||
|
foreach(String logFile in logFiles)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Removing {0}",logFile));
|
||||||
|
File.Delete(logFile);
|
||||||
|
}
|
||||||
|
catch(Exception){;}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static String Pad(string str, char filler, int length)
|
public static String Pad(string str, char filler, int length)
|
||||||
{
|
{
|
||||||
int stringLength = str.Length;
|
int stringLength = str.Length;
|
||||||
|
|||||||
Reference in New Issue
Block a user