NCBI C++ ToolKit
|
Search Toolkit Book for CJobGCRegistry
#include "ns_gc_registry.hpp"
(Private to src/app/netschedule
.)
Public Member Functions | |
CJobGCRegistry () | |
~CJobGCRegistry () | |
void | RegisterJob (unsigned int job_id, const CNSPreciseTime &submit_time, unsigned int aff_id, unsigned int group_id, const CNSPreciseTime &life_time) |
void | ChangeAffinityAndGroup (unsigned int job_id, unsigned int aff_id, unsigned int group_id) |
bool | DeleteIfTimedOut (unsigned int job_id, const CNSPreciseTime ¤t_time, unsigned int *aff_id, unsigned int *group_id) |
void | UpdateLifetime (unsigned int job_id, const CNSPreciseTime &life_time) |
void | UpdateReadVacantTime (unsigned int job_id, const CNSPreciseTime &read_vacant_time) |
CNSPreciseTime | GetLifetime (unsigned int job_id) const |
unsigned int | GetAffinityID (unsigned int job_id) const |
unsigned int | GetGroupID (unsigned int job_id) const |
CNSPreciseTime | GetPreciseSubmitTime (unsigned int job_id) const |
CNSPreciseTime | GetPreciseReadVacantTime (unsigned int job_id) const |
bool | IsOutdatedJob (unsigned int job_id, ECommandGroup cmd_group, const CNSPreciseTime &timeout) const |
void | Clear (void) |
Private Member Functions | |
CJobGCRegistry (const CJobGCRegistry &) | |
CJobGCRegistry & | operator= (const CJobGCRegistry &) |
Private Attributes | |
CFastMutex | m_Lock |
map< unsigned int, SJobGCInfo > | m_JobsAttrs |
Definition at line 77 of file ns_gc_registry.hpp.
CJobGCRegistry::CJobGCRegistry | ( | ) |
Definition at line 44 of file ns_gc_registry.cpp.
CJobGCRegistry::~CJobGCRegistry | ( | ) |
Definition at line 47 of file ns_gc_registry.cpp.
|
private |
void CJobGCRegistry::ChangeAffinityAndGroup | ( | unsigned int | job_id, |
unsigned int | aff_id, | ||
unsigned int | group_id | ||
) |
Definition at line 68 of file ns_gc_registry.cpp.
References map_checker< Container >::end(), map_checker< Container >::find(), m_JobsAttrs, and m_Lock.
Referenced by CQueue::RescheduleJob().
void CJobGCRegistry::Clear | ( | void | ) |
Definition at line 229 of file ns_gc_registry.cpp.
References map_checker< Container >::clear(), m_JobsAttrs, and m_Lock.
Referenced by CQueue::x_ClearQueue().
bool CJobGCRegistry::DeleteIfTimedOut | ( | unsigned int | job_id, |
const CNSPreciseTime & | current_time, | ||
unsigned int * | aff_id, | ||
unsigned int * | group_id | ||
) |
Definition at line 85 of file ns_gc_registry.cpp.
References map_checker< Container >::end(), map_checker< Container >::erase(), map_checker< Container >::find(), m_JobsAttrs, m_Lock, and NCBI_THROW.
Referenced by CQueue::CheckJobsExpiry().
Definition at line 159 of file ns_gc_registry.cpp.
References map_checker< Container >::end(), map_checker< Container >::find(), int, m_JobsAttrs, and m_Lock.
Referenced by CQueue::x_FindOutdatedJobForReading(), CQueue::x_FindOutdatedPendingJob(), and CQueue::x_FindVacantJob().
Definition at line 172 of file ns_gc_registry.cpp.
References map_checker< Container >::end(), map_checker< Container >::find(), int, m_JobsAttrs, and m_Lock.
CNSPreciseTime CJobGCRegistry::GetLifetime | ( | unsigned int | job_id | ) | const |
Definition at line 144 of file ns_gc_registry.cpp.
References map_checker< Container >::end(), map_checker< Container >::find(), int, m_JobsAttrs, m_Lock, and NCBI_THROW.
Referenced by CQueue::PrintJobDbStat(), CQueue::x_DumpJobs(), and CQueue::x_GetEstimatedJobLifetime().
CNSPreciseTime CJobGCRegistry::GetPreciseReadVacantTime | ( | unsigned int | job_id | ) | const |
Definition at line 200 of file ns_gc_registry.cpp.
References map_checker< Container >::end(), map_checker< Container >::find(), int, kTimeNever, m_JobsAttrs, and m_Lock.
Referenced by CJobStatusTracker::GetOutdatedReadVacantJobs(), and IsOutdatedJob().
CNSPreciseTime CJobGCRegistry::GetPreciseSubmitTime | ( | unsigned int | job_id | ) | const |
Definition at line 186 of file ns_gc_registry.cpp.
References map_checker< Container >::end(), map_checker< Container >::find(), int, kTimeZero, m_JobsAttrs, and m_Lock.
Referenced by CJobStatusTracker::GetOutdatedPendingJobs(), and IsOutdatedJob().
bool CJobGCRegistry::IsOutdatedJob | ( | unsigned int | job_id, |
ECommandGroup | cmd_group, | ||
const CNSPreciseTime & | timeout | ||
) | const |
Definition at line 214 of file ns_gc_registry.cpp.
References CNSPreciseTime::Current(), eGet, GetPreciseReadVacantTime(), and GetPreciseSubmitTime().
Referenced by CQueue::GetJobForReadingOrWait(), and CQueue::GetJobOrWait().
|
private |
void CJobGCRegistry::RegisterJob | ( | unsigned int | job_id, |
const CNSPreciseTime & | submit_time, | ||
unsigned int | aff_id, | ||
unsigned int | group_id, | ||
const CNSPreciseTime & | life_time | ||
) |
Definition at line 52 of file ns_gc_registry.cpp.
References map_checker< Container >::insert(), m_JobsAttrs, m_Lock, and SJobGCInfo::m_SubmitTime.
Referenced by CQueue::LoadFromDump(), CQueue::Submit(), and CQueue::SubmitBatch().
void CJobGCRegistry::UpdateLifetime | ( | unsigned int | job_id, |
const CNSPreciseTime & | life_time | ||
) |
Definition at line 110 of file ns_gc_registry.cpp.
References map_checker< Container >::end(), map_checker< Container >::find(), m_JobsAttrs, m_Lock, and NCBI_THROW.
Referenced by CQueue::Cancel(), CQueue::FailJob(), CQueue::GetJobForReadingOrWait(), CQueue::GetJobOrWait(), CQueue::GetStatusAndLifetimeAndTouch(), CQueue::PutProgressMessage(), CQueue::PutResult(), CQueue::ReadAndTouchJob(), CQueue::RedoJob(), CQueue::RereadJob(), CQueue::RescheduleJob(), CQueue::ReturnJob(), CQueue::x_CancelJobs(), CQueue::x_ChangeReadingStatus(), CQueue::x_CheckExecutionTimeout(), and CQueue::x_ResetDueTo().
void CJobGCRegistry::UpdateReadVacantTime | ( | unsigned int | job_id, |
const CNSPreciseTime & | read_vacant_time | ||
) |
Definition at line 128 of file ns_gc_registry.cpp.
References map_checker< Container >::end(), map_checker< Container >::find(), kTimeNever, m_JobsAttrs, m_Lock, and NCBI_THROW.
Referenced by CQueue::Cancel(), CQueue::FailJob(), CQueue::PutResult(), CQueue::x_CancelJobs(), CQueue::x_ChangeReadingStatus(), CQueue::x_CheckExecutionTimeout(), and CQueue::x_ResetDueTo().
|
private |
Definition at line 111 of file ns_gc_registry.hpp.
Referenced by ChangeAffinityAndGroup(), Clear(), DeleteIfTimedOut(), GetAffinityID(), GetGroupID(), GetLifetime(), GetPreciseReadVacantTime(), GetPreciseSubmitTime(), RegisterJob(), UpdateLifetime(), and UpdateReadVacantTime().
|
mutableprivate |
Definition at line 110 of file ns_gc_registry.hpp.
Referenced by ChangeAffinityAndGroup(), Clear(), DeleteIfTimedOut(), GetAffinityID(), GetGroupID(), GetLifetime(), GetPreciseReadVacantTime(), GetPreciseSubmitTime(), RegisterJob(), UpdateLifetime(), and UpdateReadVacantTime().