& GetJobKey()
const;
215 const string& GetJobInput()
const;
224 voidSetJobOutput(
const string&
output);
228 voidSetJobRetCode(
intret_code);
238 size_tGetInputBlobSize()
const;
242 voidPutProgressMessage(
const string&
msg,
boolsend_immediately =
false,
243 booloverwrite =
true);
265 voidCommitJobWithFailure(
const string& err_msg,
boolno_retries =
false);
284 voidRescheduleJob(
const string& affinity,
const string& group =
kEmptyStr);
315 const string& GetQueueName()
const;
319 const string& GetClientName()
const;
332 voidJobDelayExpiration(
unsignedruntime_inc);
336 boolIsLogRequested()
const;
342 voidRequestExclusiveMode();
344 const string& GetJobOutput()
const;
348 unsigned intGetJobNumber()
const;
359 boolIsJobCommitted()
const;
360ECommitStatus GetCommitStatus()
const;
361 static const char* GetCommitStatusDescription(ECommitStatus commit_status);
363 boolIsJobLost()
const;
377 voidRequestShutdown();
378 boolIsShutdownRequested()
const;
441 template<
typenameTWorkerNodeJob>
465 template<
typenameTWorkerNodeJob,
typenameTWorkerNodeIdleTask>
474}
catch(exception& ex) {
476 "Error during Idle task construction: "<< ex.what());
486 #define NCBI_DECLARE_WORKERNODE_FACTORY_IMPL(TWorkerNodeJob, Version) \ 489 const char* const CSimpleJobFactory<TWorkerNodeJob>::m_JobVersion = \ 490 #TWorkerNodeJob " version "NCBI_AS_STRING(Version); \
492const char* const CSimpleJobFactory<TWorkerNodeJob>::m_AppName = \
496 #define NCBI_DECLARE_WORKERNODE_FACTORY(TWorkerNodeJob, Version) \ 497 typedef CSimpleJobFactory<TWorkerNodeJob> TWorkerNodeJob##Factory; \ 498 NCBI_DECLARE_WORKERNODE_FACTORY_IMPL(TWorkerNodeJob, Version) 500 #define NCBI_DECLARE_WORKERNODE_FACTORY_EX( \ 501 TWorkerNodeJob, TWorkerNodeIdleTask, Version) \ 502 typedef CSimpleJobFactoryEx<TWorkerNodeJob, TWorkerNodeIdleTask> \ 503 TWorkerNodeJob##FactoryEx; \ 504 NCBI_DECLARE_WORKERNODE_FACTORY_IMPL(TWorkerNodeJob, Version) 554 stringprocinfo_file_name =
string());
556 voidRequestShutdown();
558 voidForceSingleThread();
566 unsigned intGetMaxThreads()
const;
570 Uint8GetTotalMemoryLimit()
const;
574 unsignedGetTotalTimeLimit()
const;
575time_t GetStartupTime()
const;
576 unsignedGetQueueTimeout()
const;
578 boolIsHostInAdminHostsList(
const string& host)
const;
580 unsignedGetCommitJobInterval()
const;
581 unsignedGetCheckStatusPeriod()
const;
582 size_tGetServerOutputSize();
584 const string& GetQueueName()
const;
586 const string& GetClientName()
const;
588 stringGetAppName()
const;
593 const string& GetServiceName()
const;
606 static voidDisableDefaultRequestEventLogging(
607EDisabledRequestEvents disabled_events = eDisableStartStop);
611 voidSuspend(
boolpullback,
unsignedtimeout);
613 boolIsSuspended()
const;
623eExclusiveModeIsAlreadySet
628 switch(GetErrCode())
630 caseePortBusy:
return "ePortBusy";
631 caseeJobIsLost:
return "eJobIsLost";
632 caseeJobFactoryIsNotSet:
return "eJobFactoryIsNotSet";
633 caseeExclusiveModeIsAlreadySet:
return "eExclusiveModeIsAlreadySet";
Client API for NetCache server.
Client API for NCBI NetSchedule server.
EShutdownLevel
Shutdown level.
Smart pointer to a part of the NetSchedule API that does job retrieval and processing on the worker n...
Worker Node Idle Task Context.
Listener of events generated by CGridWorkerNodeApp.
Clean-up event source for the worker node.
Worker Node Idle Task Interface.
Worker Node initialize context.
Worker Node Job Factory interface.
Worker Node Job interface.
static SQLCHAR output[256]
#define ERR_POST_XX(error_name, err_subcode, message)
Error posting with error code having given name and with given error subcode.
virtual const char * GetErrCodeString(void) const
Get error code interpreted as text.
virtual void HandleEvent(EWorkerNodeCleanupEvent cleanup_event)=0
CWorkerNodeIdleThread & m_Thread
virtual void Init(const IWorkerNodeInitContext &context)
Initialize a worker node factory.
virtual void Init(const IWorkerNodeInitContext &context)
Initialize a worker node factory.
static const char *const m_AppName
virtual int Do(CWorkerNodeJobContext &context)=0
Execute the job.
unique_ptr< TWorkerNodeIdleTask > m_IdleTask
virtual ~IWorkerNodeJob()
virtual void AddListener(IWorkerNodeCleanupEventListener *listener)=0
virtual const CNcbiEnvironment & GetEnvironment() const =0
Get environment variables.
bool NeedRunAgain() const
virtual CNetCacheAPI GetNetCacheAPI() const =0
Get the shared NetCacheAPI object used by the worker node framework.
virtual IWorkerNodeJob * CreateInstance(void)
Create a job.
virtual void Init(const IWorkerNodeInitContext &)
Initialize a worker node factory.
virtual ~IWorkerNodeJobFactory()
static const char *const m_JobVersion
pair< string, SBuildInfo > TVersion
virtual void Run(CWorkerNodeIdleTaskContext &)=0
Do the Idle task here.
virtual void Notify(const CWorkerNodeJobContext &job, EEvent event)=0
EDisabledRequestEvents
Disable the automatic logging of request-start and request-stop events by the framework itself.
virtual string GetJobVersion() const
Get the job version.
virtual IWorkerNodeIdleTask * GetIdleTask()
Get the Idle task.
virtual IWorkerNodeJob * CreateInstance(void)=0
Create a job.
const IWorkerNodeInitContext * m_WorkerNodeInitContext
virtual ~IWorkerNodeInitBaseContext()
virtual CNetScheduleAPI GetNetScheduleAPI() const =0
Get the shared NetScheduleAPI object used by the worker node framework.
virtual string GetJobVersion() const =0
Get the job version.
CWorkerNodeIdleTaskContext(const CWorkerNodeIdleTaskContext &)
virtual void RemoveListener(IWorkerNodeCleanupEventListener *listener)=0
NCBI_EXCEPTION_DEFAULT(CGridWorkerNodeException, CException)
virtual string GetAppVersion() const
virtual ~IWorkerNodeCleanupEventListener()
virtual const char * GetErrCodeString(void) const override
Get error code interpreted as text.
virtual string GetAppName() const
virtual const CArgs & GetArgs() const =0
Get command line arguments.
virtual const IRegistry & GetConfig() const =0
Get a config file registry.
virtual void CallEventHandlers()=0
CWorkerNodeIdleTaskContext & operator=(const CWorkerNodeIdleTaskContext &)
EWorkerNodeCleanupEvent
Event notifying of a safe clean-up point.
virtual IWorkerNodeIdleTask * GetIdleTask()
Get the Idle task.
virtual IWorkerNodeCleanupEventSource * GetCleanupEventSource() const =0
Get interface for registering clean-up event listeners.
virtual string GetAppName() const
virtual ~IWorkerNodeIdleTask()
@ eRegularCleanup
For jobs â run from the same thread after Do() is done; for the whole WN â run from a separate (clean...
@ eOnHardExit
Called on emergency shutdown, always from a different (clean-up) thread, even for the jobs.
uint64_t Uint8
8-byte (64-bit) unsigned integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
IO_PREFIX::istream CNcbiIstream
Portable alias for istream.
void Run(void)
Enter the main loop.
enum ENcbiSwitch ESwitch
Aux.
#define NCBI_XCONNECT_EXPORT
Pool of generic task-executing threads.
Miscellaneous common-use basic types and functionality.
Process information in the NCBI Registry, including working with configuration files.
NCBI C++ stream class wrappers for triggering between "new" and "old" C++ stream libraries.
Multi-threading â classes, functions, and features.
#define NCBI_NET_COMPONENT(component)
NetSchedule client specs.
Defines CRequestContext class for NCBI C++ diagnostic API.
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
static CS_CONTEXT * context
unique_ptr< CObjectIStream > GetIStream(string path, ESerialDataFormat serial_format)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4