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