From 839dca0c421012df9e5d2b1dccf770743de4043f Mon Sep 17 00:00:00 2001
From: Philip ABBET <philip.abbet@idiap.ch>
Date: Thu, 19 Oct 2017 09:58:50 +0200
Subject: [PATCH] Last minute fixes for v1.5.0

---
 beat/core/dbexecution.py                      |  4 ++--
 beat/core/scripts/worker.py                   |  4 +++-
 .../user/user/double/1/cxx_double.json        |  2 +-
 .../user/user/double/1/double.json            |  2 +-
 .../experiments/user/user/double/1/large.json |  2 +-
 .../user/user/double/1/large2.json            |  2 +-
 .../double_triangle/1/double_triangle.json    |  2 +-
 .../user/user/inputs_mix/1/test.json          |  2 +-
 .../user/user/inputs_mix/2/test.json          |  2 +-
 .../user/user/inputs_mix/3/test.json          |  2 +-
 .../user/user/inputs_mix/3/test2.json         |  2 +-
 .../user/user/inputs_mix/4/test.json          |  2 +-
 .../user/user/inputs_mix/4/test2.json         |  2 +-
 .../1/integers_addition.json                  |  2 +-
 .../2/integers_addition.json                  |  2 +-
 .../3/integers_addition.json                  |  2 +-
 .../user/integers_echo/1/integers_echo.json   |  2 +-
 .../user/user/integers_labelled/1/test.json   |  2 +-
 .../user/user/single/1/single.json            |  2 +-
 .../user/user/single/1/single_add.json        |  2 +-
 .../user/user/single/1/single_add2.json       |  2 +-
 .../user/user/single/1/single_crash.json      |  2 +-
 .../user/single/1/single_db_crash_done.json   |  2 +-
 .../user/single/1/single_db_crash_next.json   |  2 +-
 .../user/user/single/1/single_error.json      |  2 +-
 .../user/user/single/1/single_error2.json     |  2 +-
 .../user/user/single/1/single_large.json      |  2 +-
 .../user/user/triangle/1/too_many_nexts.json  |  2 +-
 .../user/user/triangle/1/triangle.json        |  2 +-
 beat/core/test/test_dbexecution.py            |  2 +-
 beat/core/test/test_message_handler.py        |  2 +-
 beat/core/test/test_worker.py                 | 24 ++++++++-----------
 beat/core/worker.py                           |  4 ++--
 33 files changed, 46 insertions(+), 48 deletions(-)
 mode change 100644 => 100755 beat/core/dbexecution.py

diff --git a/beat/core/dbexecution.py b/beat/core/dbexecution.py
old mode 100644
new mode 100755
index 5f13a7ef..ff73ae41
--- a/beat/core/dbexecution.py
+++ b/beat/core/dbexecution.py
@@ -47,7 +47,7 @@ from . import inputs
 from . import outputs
 from . import data
 from . import stats
-from . import agent
+from .message_handler import MessageHandler
 
 
 class DBExecutor(object):
@@ -259,7 +259,7 @@ class DBExecutor(object):
 
     def process(self, zmq_context, zmq_socket):
 
-        self.handler = agent.MessageHandler(self.input_list, zmq_context, zmq_socket)
+        self.handler = MessageHandler(self.input_list, zmq_context, zmq_socket)
         self.handler.start()
 
 
diff --git a/beat/core/scripts/worker.py b/beat/core/scripts/worker.py
index 770786dd..f2b1656d 100755
--- a/beat/core/scripts/worker.py
+++ b/beat/core/scripts/worker.py
@@ -234,6 +234,8 @@ def main(user_input=None):
 
         break
 
+    logger.info("The scheduler answered")
+
 
     # Process the requests
     execution_processes = []
@@ -328,7 +330,7 @@ def main(user_input=None):
             job_id = parts[1]
 
             try:
-                execution_process = [ p for p in execution_processes if p.job_id == job_id ]
+                execution_process = [ p for p in execution_processes if p.job_id == job_id ][0]
             except:
                 socket.send_multipart([
                     WorkerController.ERROR,
diff --git a/beat/core/test/prefix/experiments/user/user/double/1/cxx_double.json b/beat/core/test/prefix/experiments/user/user/double/1/cxx_double.json
index bb12429a..b055f471 100644
--- a/beat/core/test/prefix/experiments/user/user/double/1/cxx_double.json
+++ b/beat/core/test/prefix/experiments/user/user/double/1/cxx_double.json
@@ -46,7 +46,7 @@
     "queue": "queue",
     "environment": {
       "name": "Python 2.7",
-      "version": "1.1.0"
+      "version": "1.2.0"
     }
   }
 }
diff --git a/beat/core/test/prefix/experiments/user/user/double/1/double.json b/beat/core/test/prefix/experiments/user/user/double/1/double.json
index ecbde7e0..4820a823 100644
--- a/beat/core/test/prefix/experiments/user/user/double/1/double.json
+++ b/beat/core/test/prefix/experiments/user/user/double/1/double.json
@@ -38,7 +38,7 @@
     "queue": "queue",
     "environment": {
       "name": "Python 2.7",
-      "version": "1.1.0"
+      "version": "1.2.0"
     }
   }
 }
diff --git a/beat/core/test/prefix/experiments/user/user/double/1/large.json b/beat/core/test/prefix/experiments/user/user/double/1/large.json
index ea20697e..5275b0a7 100644
--- a/beat/core/test/prefix/experiments/user/user/double/1/large.json
+++ b/beat/core/test/prefix/experiments/user/user/double/1/large.json
@@ -38,7 +38,7 @@
     "queue": "queue",
     "environment": {
       "name": "Python 2.7",
-      "version": "1.1.0"
+      "version": "1.2.0"
     }
   }
 }
diff --git a/beat/core/test/prefix/experiments/user/user/double/1/large2.json b/beat/core/test/prefix/experiments/user/user/double/1/large2.json
index ade7e4e6..4f9b7e4f 100644
--- a/beat/core/test/prefix/experiments/user/user/double/1/large2.json
+++ b/beat/core/test/prefix/experiments/user/user/double/1/large2.json
@@ -38,7 +38,7 @@
     "queue": "queue",
     "environment": {
       "name": "Python 2.7",
-      "version": "1.1.0"
+      "version": "1.2.0"
     }
   }
 }
diff --git a/beat/core/test/prefix/experiments/user/user/double_triangle/1/double_triangle.json b/beat/core/test/prefix/experiments/user/user/double_triangle/1/double_triangle.json
index c9034170..607ba54d 100644
--- a/beat/core/test/prefix/experiments/user/user/double_triangle/1/double_triangle.json
+++ b/beat/core/test/prefix/experiments/user/user/double_triangle/1/double_triangle.json
@@ -71,7 +71,7 @@
     "queue": "queue",
     "environment": {
       "name": "Python 2.7",
-      "version": "1.1.0"
+      "version": "1.2.0"
     }
   }
 }
diff --git a/beat/core/test/prefix/experiments/user/user/inputs_mix/1/test.json b/beat/core/test/prefix/experiments/user/user/inputs_mix/1/test.json
index f770f400..f02b8ca0 100644
--- a/beat/core/test/prefix/experiments/user/user/inputs_mix/1/test.json
+++ b/beat/core/test/prefix/experiments/user/user/inputs_mix/1/test.json
@@ -44,7 +44,7 @@
     "globals": {
         "environment": {
             "name": "Python 2.7",
-            "version": "1.1.0"
+            "version": "1.2.0"
         },
         "queue": "queue"
     }
diff --git a/beat/core/test/prefix/experiments/user/user/inputs_mix/2/test.json b/beat/core/test/prefix/experiments/user/user/inputs_mix/2/test.json
index 832aa2a1..202e35d0 100644
--- a/beat/core/test/prefix/experiments/user/user/inputs_mix/2/test.json
+++ b/beat/core/test/prefix/experiments/user/user/inputs_mix/2/test.json
@@ -49,7 +49,7 @@
     "globals": {
         "environment": {
             "name": "Python 2.7",
-            "version": "1.1.0"
+            "version": "1.2.0"
         },
         "queue": "queue"
     }
diff --git a/beat/core/test/prefix/experiments/user/user/inputs_mix/3/test.json b/beat/core/test/prefix/experiments/user/user/inputs_mix/3/test.json
index e24864d7..a145dee3 100644
--- a/beat/core/test/prefix/experiments/user/user/inputs_mix/3/test.json
+++ b/beat/core/test/prefix/experiments/user/user/inputs_mix/3/test.json
@@ -50,7 +50,7 @@
     "globals": {
         "environment": {
             "name": "Python 2.7",
-            "version": "1.1.0"
+            "version": "1.2.0"
         },
         "queue": "queue"
     }
diff --git a/beat/core/test/prefix/experiments/user/user/inputs_mix/3/test2.json b/beat/core/test/prefix/experiments/user/user/inputs_mix/3/test2.json
index 8add54be..ee50c17f 100644
--- a/beat/core/test/prefix/experiments/user/user/inputs_mix/3/test2.json
+++ b/beat/core/test/prefix/experiments/user/user/inputs_mix/3/test2.json
@@ -50,7 +50,7 @@
     "globals": {
         "environment": {
             "name": "Python 2.7",
-            "version": "1.1.0"
+            "version": "1.2.0"
         },
         "queue": "queue"
     }
diff --git a/beat/core/test/prefix/experiments/user/user/inputs_mix/4/test.json b/beat/core/test/prefix/experiments/user/user/inputs_mix/4/test.json
index ed505bd6..0dab39d4 100644
--- a/beat/core/test/prefix/experiments/user/user/inputs_mix/4/test.json
+++ b/beat/core/test/prefix/experiments/user/user/inputs_mix/4/test.json
@@ -62,7 +62,7 @@
     "globals": {
         "environment": {
             "name": "Python 2.7",
-            "version": "1.1.0"
+            "version": "1.2.0"
         },
         "queue": "queue"
     }
diff --git a/beat/core/test/prefix/experiments/user/user/inputs_mix/4/test2.json b/beat/core/test/prefix/experiments/user/user/inputs_mix/4/test2.json
index 397cb65c..8a67503a 100644
--- a/beat/core/test/prefix/experiments/user/user/inputs_mix/4/test2.json
+++ b/beat/core/test/prefix/experiments/user/user/inputs_mix/4/test2.json
@@ -62,7 +62,7 @@
     "globals": {
         "environment": {
             "name": "Python 2.7",
-            "version": "1.1.0"
+            "version": "1.2.0"
         },
         "queue": "queue"
     }
diff --git a/beat/core/test/prefix/experiments/user/user/integers_addition/1/integers_addition.json b/beat/core/test/prefix/experiments/user/user/integers_addition/1/integers_addition.json
index a707f223..cdd49190 100644
--- a/beat/core/test/prefix/experiments/user/user/integers_addition/1/integers_addition.json
+++ b/beat/core/test/prefix/experiments/user/user/integers_addition/1/integers_addition.json
@@ -35,7 +35,7 @@
     "globals": {
       "environment": {
         "name": "Python 2.7",
-        "version": "1.1.0"
+        "version": "1.2.0"
       },
       "queue": "queue"
     }
diff --git a/beat/core/test/prefix/experiments/user/user/integers_addition/2/integers_addition.json b/beat/core/test/prefix/experiments/user/user/integers_addition/2/integers_addition.json
index 16c5be38..dc92e5e2 100644
--- a/beat/core/test/prefix/experiments/user/user/integers_addition/2/integers_addition.json
+++ b/beat/core/test/prefix/experiments/user/user/integers_addition/2/integers_addition.json
@@ -45,7 +45,7 @@
     "globals": {
       "environment": {
         "name": "Python 2.7",
-        "version": "1.1.0"
+        "version": "1.2.0"
       },
       "queue": "queue"
     }
diff --git a/beat/core/test/prefix/experiments/user/user/integers_addition/3/integers_addition.json b/beat/core/test/prefix/experiments/user/user/integers_addition/3/integers_addition.json
index da67fb63..5e3c6a96 100644
--- a/beat/core/test/prefix/experiments/user/user/integers_addition/3/integers_addition.json
+++ b/beat/core/test/prefix/experiments/user/user/integers_addition/3/integers_addition.json
@@ -62,7 +62,7 @@
     "globals": {
       "environment": {
         "name": "Python 2.7",
-        "version": "1.1.0"
+        "version": "1.2.0"
       },
       "queue": "queue"
     }
diff --git a/beat/core/test/prefix/experiments/user/user/integers_echo/1/integers_echo.json b/beat/core/test/prefix/experiments/user/user/integers_echo/1/integers_echo.json
index 5714d348..5695c82f 100644
--- a/beat/core/test/prefix/experiments/user/user/integers_echo/1/integers_echo.json
+++ b/beat/core/test/prefix/experiments/user/user/integers_echo/1/integers_echo.json
@@ -22,7 +22,7 @@
     "globals": {
       "environment": {
         "name": "Python 2.7",
-        "version": "1.1.0"
+        "version": "1.2.0"
       },
       "queue": "queue"
     }
diff --git a/beat/core/test/prefix/experiments/user/user/integers_labelled/1/test.json b/beat/core/test/prefix/experiments/user/user/integers_labelled/1/test.json
index 6720d3e7..521ea8a6 100644
--- a/beat/core/test/prefix/experiments/user/user/integers_labelled/1/test.json
+++ b/beat/core/test/prefix/experiments/user/user/integers_labelled/1/test.json
@@ -33,7 +33,7 @@
     "globals": {
         "environment": {
             "name": "Python 2.7",
-            "version": "1.1.0"
+            "version": "1.2.0"
         },
         "queue": "queue"
     }
diff --git a/beat/core/test/prefix/experiments/user/user/single/1/single.json b/beat/core/test/prefix/experiments/user/user/single/1/single.json
index 6071986e..1e656e68 100644
--- a/beat/core/test/prefix/experiments/user/user/single/1/single.json
+++ b/beat/core/test/prefix/experiments/user/user/single/1/single.json
@@ -29,7 +29,7 @@
     "queue": "queue",
     "environment": {
       "name": "Python 2.7",
-      "version": "1.1.0"
+      "version": "1.2.0"
     }
   }
 }
diff --git a/beat/core/test/prefix/experiments/user/user/single/1/single_add.json b/beat/core/test/prefix/experiments/user/user/single/1/single_add.json
index 5db0154e..2cc9cc5b 100644
--- a/beat/core/test/prefix/experiments/user/user/single/1/single_add.json
+++ b/beat/core/test/prefix/experiments/user/user/single/1/single_add.json
@@ -29,7 +29,7 @@
     "queue": "queue",
     "environment": {
       "name": "Python 2.7",
-      "version": "1.1.0"
+      "version": "1.2.0"
     }
   }
 }
diff --git a/beat/core/test/prefix/experiments/user/user/single/1/single_add2.json b/beat/core/test/prefix/experiments/user/user/single/1/single_add2.json
index 23406907..397400ef 100644
--- a/beat/core/test/prefix/experiments/user/user/single/1/single_add2.json
+++ b/beat/core/test/prefix/experiments/user/user/single/1/single_add2.json
@@ -29,7 +29,7 @@
     "queue": "queue",
     "environment": {
       "name": "Python 2.7",
-      "version": "1.1.0"
+      "version": "1.2.0"
     },
     "user/integers_add/1": {
       "offset": 2
diff --git a/beat/core/test/prefix/experiments/user/user/single/1/single_crash.json b/beat/core/test/prefix/experiments/user/user/single/1/single_crash.json
index c393dc9b..7c066751 100644
--- a/beat/core/test/prefix/experiments/user/user/single/1/single_crash.json
+++ b/beat/core/test/prefix/experiments/user/user/single/1/single_crash.json
@@ -29,7 +29,7 @@
     "queue": "queue",
     "environment": {
       "name": "Python 2.7",
-      "version": "1.1.0"
+      "version": "1.2.0"
     }
   }
 }
diff --git a/beat/core/test/prefix/experiments/user/user/single/1/single_db_crash_done.json b/beat/core/test/prefix/experiments/user/user/single/1/single_db_crash_done.json
index bda651df..903a8d88 100644
--- a/beat/core/test/prefix/experiments/user/user/single/1/single_db_crash_done.json
+++ b/beat/core/test/prefix/experiments/user/user/single/1/single_db_crash_done.json
@@ -29,7 +29,7 @@
     "queue": "queue",
     "environment": {
       "name": "Python 2.7",
-      "version": "1.1.0"
+      "version": "1.2.0"
     }
   }
 }
diff --git a/beat/core/test/prefix/experiments/user/user/single/1/single_db_crash_next.json b/beat/core/test/prefix/experiments/user/user/single/1/single_db_crash_next.json
index dc52640d..a636df63 100644
--- a/beat/core/test/prefix/experiments/user/user/single/1/single_db_crash_next.json
+++ b/beat/core/test/prefix/experiments/user/user/single/1/single_db_crash_next.json
@@ -29,7 +29,7 @@
     "queue": "queue",
     "environment": {
       "name": "Python 2.7",
-      "version": "1.1.0"
+      "version": "1.2.0"
     }
   }
 }
diff --git a/beat/core/test/prefix/experiments/user/user/single/1/single_error.json b/beat/core/test/prefix/experiments/user/user/single/1/single_error.json
index bd0ef6b3..e8007e8e 100644
--- a/beat/core/test/prefix/experiments/user/user/single/1/single_error.json
+++ b/beat/core/test/prefix/experiments/user/user/single/1/single_error.json
@@ -29,7 +29,7 @@
     "queue": "queue",
     "environment": {
       "name": "Python 2.7",
-      "version": "1.1.0"
+      "version": "1.2.0"
     }
   }
 }
diff --git a/beat/core/test/prefix/experiments/user/user/single/1/single_error2.json b/beat/core/test/prefix/experiments/user/user/single/1/single_error2.json
index bd0ef6b3..e8007e8e 100644
--- a/beat/core/test/prefix/experiments/user/user/single/1/single_error2.json
+++ b/beat/core/test/prefix/experiments/user/user/single/1/single_error2.json
@@ -29,7 +29,7 @@
     "queue": "queue",
     "environment": {
       "name": "Python 2.7",
-      "version": "1.1.0"
+      "version": "1.2.0"
     }
   }
 }
diff --git a/beat/core/test/prefix/experiments/user/user/single/1/single_large.json b/beat/core/test/prefix/experiments/user/user/single/1/single_large.json
index 898dc168..7fbdaad6 100644
--- a/beat/core/test/prefix/experiments/user/user/single/1/single_large.json
+++ b/beat/core/test/prefix/experiments/user/user/single/1/single_large.json
@@ -34,7 +34,7 @@
     "queue": "queue",
     "environment": {
       "name": "Python 2.7",
-      "version": "1.1.0"
+      "version": "1.2.0"
     }
   }
 }
diff --git a/beat/core/test/prefix/experiments/user/user/triangle/1/too_many_nexts.json b/beat/core/test/prefix/experiments/user/user/triangle/1/too_many_nexts.json
index 0aaa325f..b75fc76b 100644
--- a/beat/core/test/prefix/experiments/user/user/triangle/1/too_many_nexts.json
+++ b/beat/core/test/prefix/experiments/user/user/triangle/1/too_many_nexts.json
@@ -53,7 +53,7 @@
     "queue": "queue",
     "environment": {
       "name": "Python 2.7",
-      "version": "1.1.0"
+      "version": "1.2.0"
     }
   }
 }
diff --git a/beat/core/test/prefix/experiments/user/user/triangle/1/triangle.json b/beat/core/test/prefix/experiments/user/user/triangle/1/triangle.json
index 99f283d0..608c4882 100644
--- a/beat/core/test/prefix/experiments/user/user/triangle/1/triangle.json
+++ b/beat/core/test/prefix/experiments/user/user/triangle/1/triangle.json
@@ -53,7 +53,7 @@
     "queue": "queue",
     "environment": {
       "name": "Python 2.7",
-      "version": "1.1.0"
+      "version": "1.2.0"
     }
   }
 }
diff --git a/beat/core/test/test_dbexecution.py b/beat/core/test/test_dbexecution.py
index 4542db17..c2a31985 100644
--- a/beat/core/test/test_dbexecution.py
+++ b/beat/core/test/test_dbexecution.py
@@ -80,7 +80,7 @@ CONFIGURATION = {
   'parameters': {},
   'environment': {
     'name': 'Python 2.7',
-    'version': '1.1.0'
+    'version': '1.2.0'
   },
   'outputs': {
     'sum': {
diff --git a/beat/core/test/test_message_handler.py b/beat/core/test/test_message_handler.py
index 0b7eb024..7ec49cdd 100644
--- a/beat/core/test/test_message_handler.py
+++ b/beat/core/test/test_message_handler.py
@@ -45,7 +45,7 @@ import unittest
 import zmq
 import nose.tools
 
-from ..agent import MessageHandler
+from ..message_handler import MessageHandler
 from ..dataformat import DataFormat
 from ..inputs import RemoteInput
 from ..inputs import RemoteException
diff --git a/beat/core/test/test_worker.py b/beat/core/test/test_worker.py
index 408f0569..e5b73e58 100644
--- a/beat/core/test/test_worker.py
+++ b/beat/core/test/test_worker.py
@@ -73,7 +73,7 @@ CONFIGURATION1 = {
   'parameters': {},
   'environment': {
     'name': 'Python 2.7',
-    'version': '1.1.0'
+    'version': '1.2.0'
   },
   'outputs': {
     'out_data': {
@@ -109,7 +109,7 @@ CONFIGURATION2 = {
   'parameters': {},
   'environment': {
     'name': 'Python 2.7',
-    'version': '1.1.0'
+    'version': '1.2.0'
   },
   'outputs': {
     'out_data': {
@@ -173,6 +173,7 @@ class TestOneWorker(unittest.TestCase):
           '--prefix=%s' % prefix,
           '--cache=%s' % tmp_prefix,
           '--name=%s' % WORKER1,
+          # '-vvv',
           self.controller.address,
         ]
 
@@ -253,7 +254,7 @@ class TestOneWorker(unittest.TestCase):
         (worker, status, job_id, data) = self._wait()
 
         self.assertEqual(worker, WORKER1)
-        self.assertEqual(status, WorkerController.DONE)
+        self.assertEqual(status, WorkerController.JOB_ERROR)
         self.assertEqual(job_id, 1)
 
         result = simplejson.loads(data[0])
@@ -305,24 +306,19 @@ class TestOneWorker(unittest.TestCase):
         self.assertTrue(did_shutdown)
 
 
-    def test_error_busy(self):
+    def test_multiple_jobs(self):
         config = dict(CONFIGURATION1)
         config['algorithm'] = 'user/integers_echo_slow/1'
 
-        self.controller.execute(WORKER1, 1, config)
+        self.controller.execute(WORKER1, 1, CONFIGURATION1)
         self.controller.execute(WORKER1, 2, config)
 
-        (worker, status, job_id, data) = self._wait()
-
-        self.assertEqual(worker, WORKER1)
-        self.assertEqual(status, WorkerController.JOB_ERROR)
-        self.assertEqual(job_id, 2)
-        self.assertEqual(data[0], 'Worker is already busy')
-
         message = self._wait()
-
         self._check_done(message, WORKER1, 1)
 
+        message = self._wait()
+        self._check_done(message, WORKER1, 2)
+
 
     def test_reuse(self):
         self.controller.execute(WORKER1, 1, CONFIGURATION1)
@@ -357,7 +353,7 @@ class TestOneWorker(unittest.TestCase):
         self.assertEqual(worker, WORKER1)
         self.assertEqual(status, WorkerController.ERROR)
         self.assertTrue(job_id is None)
-        self.assertEqual(data[0], "Worker isn't busy")
+        self.assertEqual(data[0], "Unknown job: 1")
 
 
 #----------------------------------------------------------
diff --git a/beat/core/worker.py b/beat/core/worker.py
index 2e85379d..3b44ab44 100755
--- a/beat/core/worker.py
+++ b/beat/core/worker.py
@@ -96,8 +96,8 @@ class WorkerController(object):
     def cancel(self, worker, job_id):
         self.socket.send_multipart([
           str(worker),
-          str(job_id),
-          WorkerController.CANCEL
+          WorkerController.CANCEL,
+          str(job_id)
         ])
 
 
-- 
GitLab