comparison OrthancServer/ServerJobs/LuaJobManager.h @ 2620:1232922c8793 jobs

speeding up shutdown if Lua script is in trailing phase
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 22 May 2018 14:08:57 +0200
parents f7a84b551ee4
children 4e43e67f8ecf
comparison
equal deleted inserted replaced
2619:4ecb79c6e81c 2620:1232922c8793
31 **/ 31 **/
32 32
33 33
34 #pragma once 34 #pragma once
35 35
36 #include "../../Core/DicomNetworking/TimeoutDicomConnectionManager.h"
37 #include "../../Core/DicomParsing/DicomModification.h" 36 #include "../../Core/DicomParsing/DicomModification.h"
38 #include "../../Core/JobsEngine/JobsEngine.h" 37 #include "../../Core/JobsEngine/JobsEngine.h"
39 #include "../../Core/JobsEngine/Operations/SequenceOfOperationsJob.h" 38 #include "../../Core/JobsEngine/Operations/SequenceOfOperationsJob.h"
40 #include "../../Core/WebServiceParameters.h" 39 #include "../../Core/WebServiceParameters.h"
41 40
50 std::string currentId_; 49 std::string currentId_;
51 SequenceOfOperationsJob* currentJob_; 50 SequenceOfOperationsJob* currentJob_;
52 size_t maxOperations_; 51 size_t maxOperations_;
53 int priority_; 52 int priority_;
54 unsigned int trailingTimeout_; 53 unsigned int trailingTimeout_;
54 unsigned int dicomTimeout_;
55 55
56 virtual void SignalDone(const SequenceOfOperationsJob& job); 56 virtual void SignalDone(const SequenceOfOperationsJob& job);
57 57
58 public: 58 public:
59 LuaJobManager(); 59 LuaJobManager();
61 void SetMaxOperationsPerJob(size_t count); 61 void SetMaxOperationsPerJob(size_t count);
62 62
63 void SetPriority(int priority); 63 void SetPriority(int priority);
64 64
65 void SetTrailingOperationTimeout(unsigned int timeout); 65 void SetTrailingOperationTimeout(unsigned int timeout);
66
67 void AwakeTrailingSleep();
66 68
67 class Lock : public boost::noncopyable 69 class Lock : public boost::noncopyable
68 { 70 {
69 private: 71 private:
70 LuaJobManager& that_; 72 LuaJobManager& that_;