Mercurial > hg > orthanc
comparison Core/JobsEngine/JobsRegistry.h @ 2950:dc18d5804746
support of JobsHistorySize set to zero
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 30 Nov 2018 17:19:57 +0100 |
parents | 251614c2edac |
children | cb5d75143da0 |
comparison
equal
deleted
inserted
replaced
2949:e6204cd21443 | 2950:dc18d5804746 |
---|---|
69 | 69 |
70 virtual void SignalJobFailure(const std::string& jobId) = 0; | 70 virtual void SignalJobFailure(const std::string& jobId) = 0; |
71 }; | 71 }; |
72 | 72 |
73 private: | 73 private: |
74 enum CompletedReason | |
75 { | |
76 CompletedReason_Success, | |
77 CompletedReason_Failure, | |
78 CompletedReason_Canceled | |
79 }; | |
80 | |
74 class JobHandler; | 81 class JobHandler; |
75 | 82 |
76 struct PriorityComparator | 83 struct PriorityComparator |
77 { | 84 { |
78 bool operator() (JobHandler*& a, | 85 bool operator() (JobHandler*& a, |
113 | 120 |
114 void SetCompletedJob(JobHandler& job, | 121 void SetCompletedJob(JobHandler& job, |
115 bool success); | 122 bool success); |
116 | 123 |
117 void MarkRunningAsCompleted(JobHandler& job, | 124 void MarkRunningAsCompleted(JobHandler& job, |
118 bool success); | 125 CompletedReason reason); |
119 | 126 |
120 void MarkRunningAsRetry(JobHandler& job, | 127 void MarkRunningAsRetry(JobHandler& job, |
121 unsigned int timeout); | 128 unsigned int timeout); |
122 | 129 |
123 void MarkRunningAsPaused(JobHandler& job); | 130 void MarkRunningAsPaused(JobHandler& job); |
128 void RemovePendingJob(const std::string& id); | 135 void RemovePendingJob(const std::string& id); |
129 | 136 |
130 void RemoveRetryJob(JobHandler* handler); | 137 void RemoveRetryJob(JobHandler* handler); |
131 | 138 |
132 void SubmitInternal(std::string& id, | 139 void SubmitInternal(std::string& id, |
133 JobHandler* handler, | 140 JobHandler* handler); |
134 bool keepLastChangeTime); | |
135 | 141 |
136 public: | 142 public: |
137 JobsRegistry() : | 143 JobsRegistry(size_t maxCompletedJobs) : |
138 maxCompletedJobs_(10), | 144 maxCompletedJobs_(maxCompletedJobs), |
139 observer_(NULL) | 145 observer_(NULL) |
140 { | 146 { |
141 } | 147 } |
142 | 148 |
143 JobsRegistry(IJobUnserializer& unserializer, | 149 JobsRegistry(IJobUnserializer& unserializer, |
144 const Json::Value& s); | 150 const Json::Value& s, |
151 size_t maxCompletedJobs); | |
145 | 152 |
146 ~JobsRegistry(); | 153 ~JobsRegistry(); |
147 | 154 |
148 void SetMaxCompletedJobs(size_t i); | 155 void SetMaxCompletedJobs(size_t i); |
149 | 156 |
157 size_t GetMaxCompletedJobs(); | |
158 | |
150 void ListJobs(std::set<std::string>& target); | 159 void ListJobs(std::set<std::string>& target); |
151 | 160 |
152 bool GetJobInfo(JobInfo& target, | 161 bool GetJobInfo(JobInfo& target, |
153 const std::string& id); | 162 const std::string& id); |
154 | 163 |