send_immediately,
booloverwrite);
114 bool CountJob(
const string& job_group,
161 void Suspend(
boolpullback,
unsignedtimeout);
197 stringprocinfo_file_name);
298 if(it ==
m_Jobs.end()) {
369 virtual void*
Main();
376 m_API(worker_node->m_NetScheduleAPI),
390 const string& prio_aff_list,
CRunningJobLimit::TJobCounter::iterator m_JobGroupCounterIt
void RegisterRun(CRunningJobLimit *job_counter, CRunningJobLimit::TJobCounter::iterator job_group_it)
CRunningJobLimit * m_JobCounter
bool MoreJobs(const SEntry &entry)
CImpl(SGridWorkerNodeImpl *worker_node)
CNetServer ReadNotifications()
bool CheckEntry(SEntry &entry, const string &prio_aff_list, bool any_affinity, CNetScheduleJob &job, CNetScheduleAPI::EJobStatus *job_status)
void ReturnJob(CNetScheduleJob &job)
CNetServer x_ProcessRequestJobNotification()
CNetServer WaitForNotifications(const CDeadline &deadline)
SGridWorkerNodeImpl * m_WorkerNode
const string m_ThreadName
CNetScheduleGetJobImpl< CImpl > m_Timeline
CMainLoopThread(SGridWorkerNodeImpl *worker_node)
bool x_GetNextJob(CNetScheduleJob &job, const CDeadline &deadline)
SGridWorkerNodeImpl * m_WorkerNode
virtual void * Main()
Derived (user-created) class must provide a real thread function.
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...
void ResetJobCounter(unsigned max_number)
map< string, unsigned > TJobCounter
bool CountJob(const string &job_group, CJobRunRegistration *job_run_registration)
shared_ptr< CSynRegistry > TPtr
virtual void Process()
Do the actual job Called by whichever thread handles this request.
CWorkerNodeRequest(SWorkerNodeJobContextImpl *context)
CWorkerNodeJobContext m_JobContext
Clean-up event source for the worker node.
Worker Node Job Factory interface.
Worker Node Job interface.
container_type::iterator iterator
bool g_IsRequestStopEventEnabled()
bool g_IsRequestStartEventEnabled()
const string & GetProgramDisplayName(void) const
Get the application's "display" name.
@ eNoOwnership
No ownership is assumed.
EJobStatus
Job status codes.
const string & GetQueueName() const
Return Queue name.
string job_id
Output job key.
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.
enum ENcbiSwitch ESwitch
Aux.
enum ENcbiOwnership EOwnership
Ownership relations between objects.
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
Bookkeeping of jobs being executed (to prevent simultaneous runs of the same job)
unordered_map< string, string > m_Jobs
void Update(CNetScheduleJob &job)
bool Add(const CNetScheduleJob &job)
void Remove(const CNetScheduleJob &job)
unique_ptr< IGridWorkerNodeApp_Listener > m_Listener
CSynRegistry::TPtr m_SynRegistry
IWorkerNodeJob * GetJobProcessor()
bool EnterExclusiveMode()
unsigned m_CheckStatusPeriod
string GetAppName() const
CNetScheduleAPI m_NetScheduleAPI
SJobsInProgress m_JobsInProgress
CRef< CJobCommitterThread > m_JobCommitterThread
unsigned m_TotalTimeLimit
void x_StartWorkerThreads()
CNcbiApplicationAPI & m_App
IWorkerNodeCleanupEventSource * GetCleanupEventSource() const override
Get interface for registering clean-up event listeners.
const CArgs & GetArgs() const override
Get command line arguments.
unsigned m_CommitJobInterval
CStdPoolOfThreads * m_ThreadPool
CRef< CWorkerNodeIdleThread > m_IdleThread
const string & GetServiceName() const
void x_NotifyJobWatchers(const CWorkerNodeJobContext &job_context, IWorkerNodeJobWatcher::EEvent event)
CSemaphore m_ExclusiveJobSemaphore
void x_StopWorkerThreads()
CRunningJobLimit m_JobsPerSessionID
bool m_ProgressLogRequested
map< IWorkerNodeJobWatcher *, AutoPtr< IWorkerNodeJobWatcher > > TJobWatchers
bool IsExclusiveMode() const
CFastMutex m_JobWatcherMutex
unique_ptr< IWorkerNodeJobFactory > m_JobProcessorFactory
unsigned int m_MaxThreads
CRef< CWorkerNodeCleanup > m_CleanupEventSource
bool x_AreMastersBusy() const
set< unsigned int > m_AdminHosts
size_t m_QueueEmbeddedOutputSize
CNetScheduleAPI GetNetScheduleAPI() const override
Get the shared NetScheduleAPI object used by the worker node framework.
void LeaveExclusiveMode()
set< SSocketAddress > m_Masters
const string & GetQueueName() const
CRef< IRegistry > m_Registry
SGridWorkerNodeImpl(CNcbiApplicationAPI &app, IWorkerNodeJobFactory *job_factory)
int Run(ESwitch daemonize, string procinfo_file_name)
bool m_SingleThreadForced
CNetCacheAPI GetNetCacheAPI() const override
Get the shared NetCacheAPI object used by the worker node framework.
const string & GetClientName() const
void AddJobWatcher(IWorkerNodeJobWatcher &job_watcher, EOwnership owner=eNoOwnership)
bool m_IsProcessingExclusiveJob
CNetCacheAPI m_NetCacheAPI
SThreadSafe< SSuspendResume > m_SuspendResume
unsigned m_ThreadPoolTimeout
const CNcbiEnvironment & GetEnvironment() const override
Get environment variables.
CFastMutex m_JobProcessorMutex
bool WaitForExclusiveJobToFinish()
CNetScheduleExecutor m_NSExecutor
CRunningJobLimit m_JobsPerClientIP
const IRegistry & GetConfig() const override
Get a config file registry.
const string & GetClientName() const
unsigned m_DefaultPullbackTimeout
EState CheckState() volatile
unsigned GetCurrentJobGeneration() const volatile
bool IsJobPullbackTimerExpired()
atomic< unsigned > m_CurrentJobGeneration
atomic< bool > m_IsSuspended
CDeadline m_JobPullbackTime
void SetJobPullbackTimer(unsigned seconds)
unsigned GetDefaultPullbackTimeout() const
bool IsSuspended() const volatile
void Suspend(bool pullback, unsigned timeout)
void SetDefaultPullbackTimeout(unsigned seconds)
CRequestRateControl m_ProgressMsgThrottler
CNcbiIstream & GetIStream()
void x_PrintRequestStop()
CDeadline m_CommitExpiration
CNcbiOstream & GetOStream()
virtual void JobDelayExpiration(unsigned runtime_inc)
void ResetTimeout(unsigned seconds)
CRef< CRequestContext > m_RequestContext
const CDeadline GetTimeout() const
CNetScheduleExecutor m_NetScheduleExecutor
virtual CNetScheduleAdmin::EShutdownLevel GetShutdownLevel()
CRef< CWorkerNodeCleanup > m_CleanupEventSource
CWorkerNodeJobContext::ECommitStatus m_JobCommitStatus
virtual void PutProgressMessage(const string &msg, bool send_immediately, bool overwrite)
bool m_FirstCommitAttempt
SGridWorkerNodeImpl * m_WorkerNode
CRequestRateControl m_StatusThrottler
SWorkerNodeJobContextImpl(SGridWorkerNodeImpl *worker_node)
CNetCacheAPI m_NetCacheAPI
static CS_CONTEXT * context
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