Fix event handling for CompanyProfile
This commit is contained in:
@@ -30,6 +30,7 @@ namespace MarketData.Services
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATEANALYSTRATINGS");
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATESECFILINGSWATCHLIST /WATCHLIST:");
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATECOMPANYPROFILES");
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"UPDATEGDPPERCAPITA");
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"ECHO {param1} {param2} {param(n)");
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"MGSHSESSION /SESSIONFILE:");
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,"MGSHRUNBACKTEST /USEHEDGING: /HEDGEINITIALCASH: /USESTOPLIMITS: /KEEPSLOTPOSITIONS: /STARTDATE: /MAXPOSITIONS: /INITIALCASH: /HOLDINGPERIOD: /{ENDDATE}: /SESSIONFILE: ");
|
||||
@@ -57,6 +58,7 @@ namespace MarketData.Services
|
||||
tasks.Add("UPDATEANALYSTRATINGS",TaskUpdateAnalystRatings);
|
||||
tasks.Add("UPDATESECFILINGSWATCHLIST",TaskUpdateSECFilingsWatchList);
|
||||
tasks.Add("UPDATECOMPANYPROFILES",TaskUpdateCompanyProfiles);
|
||||
tasks.Add("UPDATEGDPPERCAPITA",TaskUpdateGDPPerCapita);
|
||||
tasks.Add("MGSHSESSION",TaskMGSHSession);
|
||||
tasks.Add("MGSHRUNBACKTEST",TaskMGSHRunBacktest);
|
||||
tasks.Add("MGSHRUNDAILY",TaskMGSHRunDaily);
|
||||
@@ -117,6 +119,13 @@ namespace MarketData.Services
|
||||
// **********************************************************************************************************************************************************
|
||||
// ********************************************************* T A S K S *************************************************************************************
|
||||
// **********************************************************************************************************************************************************
|
||||
|
||||
public async Task TaskUpdateGDPPerCapita(CommandArgs commandArgs)
|
||||
{
|
||||
LoadGDPPerCapita();
|
||||
await Task.FromResult(true);
|
||||
}
|
||||
|
||||
public async Task TaskUpdateCompanyProfiles(CommandArgs commandArgs)
|
||||
{
|
||||
UpdateCompanyProfiles();
|
||||
@@ -128,8 +137,8 @@ namespace MarketData.Services
|
||||
if(!commandArgs.Has("WATCHLIST")){Console.WriteLine("UPDATESECFILINGSWATCHLIST REQUIRES WATCHLIST");return;}
|
||||
String watchListName = commandArgs.Coalesce<String>("WATCHLIST");
|
||||
List<String> symbols = WatchListDA.GetWatchList(watchListName);
|
||||
SECFilingMarketDataHelper secFilingMarketDataHelper=new SECFilingMarketDataHelper();
|
||||
secFilingMarketDataHelper.UpdateSECFilings(symbols);
|
||||
SECFilingMarketDataHelper secFilingMarketDataHelper=new SECFilingMarketDataHelper();
|
||||
secFilingMarketDataHelper.UpdateSECFilings(symbols);
|
||||
await Task.FromResult(true);
|
||||
}
|
||||
|
||||
|
||||
@@ -145,7 +145,8 @@ namespace MarketData.DataAccess
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,exception);
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,$"Exception: {exception.ToString()}");
|
||||
if(null!=strQuery)MDTrace.WriteLine(LogLevel.DEBUG,$"Query was {strQuery}");
|
||||
return false;
|
||||
}
|
||||
finally
|
||||
|
||||
@@ -56,6 +56,7 @@ namespace MarketData.Helper
|
||||
{
|
||||
ManualResetEvent[] availableEvents=GetAvailableEvents(resetEvents);
|
||||
ManualResetEvent[] busyEvents=GetBusyEvents(resetEvents);
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,$"Available:{availableEvents.Length} Busy:{busyEvents.Length}");
|
||||
if (null == PeekQueueItem() && 0==busyEvents.Length)
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("Queue contains {0} items, busy events {1}, all done.",0,busyEvents.Length));
|
||||
@@ -67,7 +68,7 @@ namespace MarketData.Helper
|
||||
if (null != queueItem)
|
||||
{
|
||||
availableEvents[index].Reset();
|
||||
CompanyProfileThreadHelper companyProfileThreadHelper = new CompanyProfileThreadHelper(queueItem,resetEvents[index]);
|
||||
CompanyProfileThreadHelper companyProfileThreadHelper = new CompanyProfileThreadHelper(queueItem,availableEvents[index]);
|
||||
ThreadPool.QueueUserWorkItem(ThreadPoolCallback, companyProfileThreadHelper);
|
||||
try { Thread.Sleep(SLEEP_TIME_MS); }catch (Exception) { ;}
|
||||
}
|
||||
@@ -99,10 +100,16 @@ namespace MarketData.Helper
|
||||
public void ThreadPoolCallback(Object companyProfileThreadHelperContext)
|
||||
{
|
||||
CompanyProfileThreadHelper companyProfileThreadHelper = (CompanyProfileThreadHelper)companyProfileThreadHelperContext;
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[UpdateCompanyProfile] Thread {0} started for {1}...", Thread.CurrentThread.ManagedThreadId, companyProfileThreadHelper.CompanyProfile.Symbol));
|
||||
LoadCompanyProfileEx(companyProfileThreadHelper.CompanyProfile);
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[UpdateCompanyProfile] Thread {0} ended for {1}", Thread.CurrentThread.ManagedThreadId, companyProfileThreadHelper.CompanyProfile.Symbol));
|
||||
companyProfileThreadHelper.ResetEvent.Set();
|
||||
try
|
||||
{
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[UpdateCompanyProfile] Thread {0} started for {1}...", Thread.CurrentThread.ManagedThreadId, companyProfileThreadHelper.CompanyProfile.Symbol));
|
||||
LoadCompanyProfileEx(companyProfileThreadHelper.CompanyProfile);
|
||||
MDTrace.WriteLine(LogLevel.DEBUG,String.Format("[UpdateCompanyProfile] Thread {0} ended for {1}", Thread.CurrentThread.ManagedThreadId, companyProfileThreadHelper.CompanyProfile.Symbol));
|
||||
}
|
||||
finally
|
||||
{
|
||||
companyProfileThreadHelper.ResetEvent.Set();
|
||||
}
|
||||
}
|
||||
|
||||
private static void LoadCompanyProfileEx(CompanyProfile companyProfile)
|
||||
|
||||
Reference in New Issue
Block a user