5 #include "cetlib/container_algorithms.h" 15 std::vector<art::OutputWorker*> ows;
16 for (
auto const& val : workers) {
17 auto w = val.second.get();
18 if (
auto ow = dynamic_cast<art::OutputWorker*>(
w)) {
40 mpr.registerProductListUpdatedCallback(
41 [
this](
auto const& productList) { this->
selectProducts(productList); });
51 [](
auto&
w) {
return w->limitReached(); });
54 <<
"The job is terminating successfully because each output module\n" 55 <<
"has reached its configured limit.\n";
70 error <<
"cet::exception caught in Schedule::endJob\n" 75 error <<
"Standard library exception caught in Schedule::endJob\n" 80 error <<
"Unknown exception caught in Schedule::endJob\n";
131 auto const& md =
w->description();
136 auto const& eid = ep.
id();
188 [&ranges](
auto w) {
w->setSubRunAuxiliaryRangeSetID(ranges); });
201 [&ranges](
auto w) {
w->setRunAuxiliaryRangeSetID(ranges); });
208 [&productList](
auto w) {
w->selectProducts(productList); });
228 auto const granularity = ow->fileGranularity();
229 if (granularity > b || !ow->requestsToCloseFile())
245 [](
auto ow) { ow->incrementInputFileNumber(); });
265 [](
auto ow) {
return ow->fileIsOpen(); });
271 auto invoke_sPreCloseOutputFile = [
this](
auto ow) {
274 auto closeFile = [](
auto ow) { ow->closeFile(); };
275 auto invoke_sPostCloseOutputFile = [
this](
auto ow) {
297 auto openFile = [&
fb](
auto ow) { ow->openFile(fb); };
298 auto invoke_sPostOpenOutputFile = [
this](
auto ow) {
std::vector< unsigned char > workersEnabled_
std::map< std::string, std::unique_ptr< Worker >> WorkerMap
bool outputsToClose() const
void writeEvent(EventPrincipal &ep)
GlobalSignal< detail::SignalResponseType::FIFO, void(ModuleDescription const &)> sPreWriteEvent
GlobalSignal< detail::SignalResponseType::LIFO, void(std::string const &)> sPostOpenOutputFile
MaybeLogger_< ELseverityLevel::ELsev_info, false > LogInfo
EndPathExecutor(PathManager &pm, ActionTable &actions, ActivityRegistry &areg, MasterProductRegistry &mpr)
GlobalSignal< detail::SignalResponseType::LIFO, void(ModuleDescription const &)> sPostWriteEvent
void openFile(FileBlock const &fb)
void doForAllEnabledWorkers_(F f)
std::map< BranchKey, BranchDescription > ProductList
std::string const & lastClosedFileName() const
void writeSubRun(SubRunPrincipal &srp)
void respondToOpenInputFile(FileBlock const &fb)
void respondToOpenOutputFiles(FileBlock const &fb)
void setAuxiliaryRangeSetID(SubRunPrincipal &srp)
void seedSubRunRangeSet(std::unique_ptr< RangeSetHandler >)
void closeAllOutputFiles()
void recordOutputClosureRequests(Granularity)
void openAllOutputFiles(FileBlock &fb)
void respondToCloseOutputFiles(FileBlock const &fb)
void openSomeOutputFiles(FileBlock const &fb)
WorkerMap const & workers() const
void updateSeenRanges(RangeSet const &rs)
void setOutputFileStatus(OutputFileStatus)
std::vector< evd::details::RawDigitInfo_t >::const_iterator begin(RawDigitCacheDataClass const &cache)
bool someOutputsOpen() const
bool isLastInSubRun() const
OutputWorkers outputWorkers_
std::unique_ptr< RangeSetHandler > subRunRangeSetHandler_
PathsInfo & endPathInfo()
void writeRun(RunPrincipal &rp)
bool outputsToOpen() const
OutputWorkerSet outputWorkersToOpen_
void closeSomeOutputFiles()
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
void selectProducts(ProductList const &)
void seedRunRangeSet(std::unique_ptr< RangeSetHandler >)
void respondToCloseInputFile(FileBlock const &fb)
GlobalSignal< detail::SignalResponseType::FIFO, void(std::string const &)> sPreCloseOutputFile
GlobalSignal< detail::SignalResponseType::LIFO, void(OutputFileInfo const &)> sPostCloseOutputFile
EventID const & id() const
ActivityRegistry & actReg_
std::vector< unsigned char > outputWorkersEnabled_
std::vector< evd::details::RawDigitInfo_t >::const_iterator end(RawDigitCacheDataClass const &cache)
void doForAllEnabledOutputWorkers_(F f)
OutputFileStatus fileStatus_
void incrementInputFileNumber()
std::string const & label() const
OutputWorkerSet outputWorkersToClose_
void updateSeenRanges(RangeSet const &rs)
std::unique_ptr< RangeSetHandler > runRangeSetHandler_
cet::coded_exception< error, detail::translate > exception