MCPcopy Create free account
hub / github.com/catboost/catboost / Launch

Method Launch

library/cpp/par/par_exec.h:753–775  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

751
752 public:
753 static void Launch(TJobRequest* jobRequest,
754 TRemoteQueryProcessor* queryProc, IUserContext* userContext,
755 IMRCommandCompleteNotify* mrNotify) {
756 for (;;) {
757 IUserContext::EDataDistrState ds = userContext->UpdateDataDistrState(&jobRequest->HostId2Computer);
758 if (ds == IUserContext::DATA_UNAVAILABLE) {
759 CancelLaunch(mrNotify, userContext);
760 return;
761 }
762 if (ds != IUserContext::DATA_COMPLETE && jobRequest->Descr.ExecList.ysize() > FIRST_BLOCK_LEN * 2) {
763 TIntrusivePtr<TSplitMRExec> op = new TSplitMRExec(jobRequest, queryProc, mrNotify, userContext);
764 op->StartNextBlock();
765 op->StartNextBlock();
766 return;
767 } else {
768 bool chk = LaunchJobRequest(jobRequest, queryProc, userContext, mrNotify);
769 if (chk)
770 return;
771 // can not execute have to wait somehow
772 ThreadYield();
773 }
774 }
775 }
776 };
777}

Callers

nothing calls this directly

Calls 5

LaunchJobRequestFunction · 0.85
ThreadYieldFunction · 0.85
UpdateDataDistrStateMethod · 0.45
ysizeMethod · 0.45
StartNextBlockMethod · 0.45

Tested by

no test coverage detected