public void ScheduleDumpAnalysis(DumpMetainfo dumpInfo) { string dumpFilePath = dumpStorage.GetDumpFilePath(dumpInfo.BundleId, dumpInfo.DumpId); if (!File.Exists(dumpFilePath)) { throw new DumpNotFoundException($"bundleid: {dumpInfo.BundleId}, dumpid: {dumpInfo.DumpId}, path: {dumpFilePath}"); } string analysisWorkingDir = pathHelper.GetDumpDirectory(dumpInfo.BundleId, dumpInfo.DumpId); if (!Directory.Exists(analysisWorkingDir)) { throw new DirectoryNotFoundException($"bundleid: {dumpInfo.BundleId}, dumpid: {dumpInfo.DumpId}, path: {dumpFilePath}"); } // schedule actual analysis Hangfire.BackgroundJob.Enqueue <AnalysisService>(repo => Analyze(dumpInfo, dumpFilePath, analysisWorkingDir)); // got a stackoverflow problem here. }
internal string GetDumpFilePath(string bundleId, string dumpId) { return(storage.GetDumpFilePath(bundleId, dumpId)); }