diff OrthancServer/main.cpp @ 2815:925d8dc03a23

unserialization of jobs from plugins
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 11 Sep 2018 16:34:21 +0200
parents 959bd8857eb5
children 8aa6aef11b70
line wrap: on
line diff
--- a/OrthancServer/main.cpp	Fri Sep 07 10:09:17 2018 +0200
+++ b/OrthancServer/main.cpp	Tue Sep 11 16:34:21 2018 +0200
@@ -875,7 +875,8 @@
 
 
 static bool ConfigureHttpHandler(ServerContext& context,
-                                 OrthancPlugins *plugins)
+                                 OrthancPlugins *plugins,
+                                 bool loadJobsFromDatabase)
 {
 #if ORTHANC_ENABLE_PLUGINS == 1
   // By order of priority, first apply the "plugins" layer, so that
@@ -900,7 +901,13 @@
   OrthancRestApi restApi(context);
   context.GetHttpHandler().Register(restApi, true);
 
-  return StartDicomServer(context, restApi, plugins);
+  context.SetupJobsEngine(false /* not running unit tests */, loadJobsFromDatabase);
+
+  bool restart = StartDicomServer(context, restApi, plugins);
+
+  context.Stop();
+
+  return restart;
 }
 
 
@@ -973,7 +980,7 @@
 
   DicomUserConnection::SetDefaultTimeout(Configuration::GetGlobalUnsignedIntegerParameter("DicomScuTimeout", 10));
 
-  ServerContext context(database, storageArea, false /* not running unit tests */, loadJobsFromDatabase);
+  ServerContext context(database, storageArea, false /* not running unit tests */);
   context.SetCompressionEnabled(Configuration::GetGlobalBoolParameter("StorageCompression", false));
   context.SetStoreMD5ForAttachments(Configuration::GetGlobalBoolParameter("StoreMD5ForAttachments", true));
 
@@ -1012,15 +1019,13 @@
 
   try
   {
-    restart = ConfigureHttpHandler(context, plugins);
+    restart = ConfigureHttpHandler(context, plugins, loadJobsFromDatabase);
   }
   catch (OrthancException& e)
   {
     error = e.GetErrorCode();
   }
 
-  context.Stop();
-
 #if ORTHANC_ENABLE_PLUGINS == 1
   if (plugins)
   {