Add ability for calcsticker to wait on depedencies

This commit is contained in:
2025-04-17 11:03:09 -04:00
parent 449b3743a9
commit a26e7da621
4 changed files with 41 additions and 2 deletions

View File

@@ -37,7 +37,7 @@ namespace MarketData.Services
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATEFINANCIALSTATEMENTS");
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATEFUNDAMENTALS");
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATEHISTORICAL");
MDTrace.WriteLine(LogLevel.DEBUG,"CALCSTICKER");
MDTrace.WriteLine(LogLevel.DEBUG,"CALCSTICKER /WAITFORCOMPLETION:{argument1,argument2,...} For example CALCSTICKER /WAITFORCOMPLETION:UPDATEFINANCIALSTATEMENTS,UPDATEFUNDAMENTALS,UPDATEHISTORICAL");
MDTrace.WriteLine(LogLevel.DEBUG,"MGSHSESSION /SESSIONFILE:");
MDTrace.WriteLine(LogLevel.DEBUG,"MGSHRUNBACKTEST /USEHEDGING: /HEDGEINITIALCASH: /USESTOPLIMITS: /KEEPSLOTPOSITIONS: /STARTDATE: /MAXPOSITIONS: /INITIALCASH: /HOLDINGPERIOD: /{ENDDATE}: /SESSIONFILE: ");
MDTrace.WriteLine(LogLevel.DEBUG,"MGSHRUNDAILY /SESSIONFILE: /TRADEDATE:");
@@ -134,6 +134,16 @@ namespace MarketData.Services
// **********************************************************************************************************************************************************
public async Task TaskCalcSticker(CommandArgs commandArgs)
{
int WAIT_TIME = 60000; // 1 minute intervals
if(commandArgs.Has("WAITFORCOMPLETION"))
{
List<String> processArguments = Utility.ToList(commandArgs.Get<String>("WAITFORCOMPLETION"),',');
while(Utility.IsProcessRunning("mk",processArguments))
{
MDTrace.WriteLine(LogLevel.DEBUG,$"CALCSTICKER is waiting for items in the process completion list {commandArgs.Get<String>("WAITFORCOMPLETION")}");
try{Thread.Sleep(WAIT_TIME);}catch(Exception){;}
}
}
CalcSticker();
await Task.FromResult(true);
}