From 25d10f5e27553b1b0d9e7bee8f0b64222eed0a2b Mon Sep 17 00:00:00 2001
From: Andre Anjos <andre.dos.anjos@gmail.com>
Date: Tue, 5 Apr 2016 15:12:46 +0200
Subject: [PATCH] [localhost] Update worker hostname

---
 beat/web/scripts/localhost.py | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/beat/web/scripts/localhost.py b/beat/web/scripts/localhost.py
index 0bc72549f..070e76c9e 100644
--- a/beat/web/scripts/localhost.py
+++ b/beat/web/scripts/localhost.py
@@ -196,17 +196,11 @@ SCHEDULER_BIN = os.path.join(bindir, 'scheduler.py')
 WORKER_BIN = os.path.join(bindir, 'worker.py')
 
 
-def get_scheduler_token(django_settings):
+def get_scheduler_token(account):
     """Retrieves the scheduler token from the Django database"""
 
-    os.environ.setdefault('DJANGO_SETTINGS_MODULE', django_settings)
-    from django.conf import settings
-
-    from django import setup
-    setup()
-
     from rest_framework.authtoken.models import Token
-    return Token.objects.get(user__username=settings.SCHEDULER_ACCOUNT).key
+    return Token.objects.get(user__username=account).key
 
 
 def main(user_input=None):
@@ -227,6 +221,12 @@ def main(user_input=None):
 
     try:
 
+        os.environ.setdefault('DJANGO_SETTINGS_MODULE', arguments['--settings'])
+        from django.conf import settings
+
+        from django import setup
+        setup()
+
         # Web server, via django
         web_arguments = [
           DJANGO_BIN,
@@ -247,7 +247,7 @@ def main(user_input=None):
           '--port=10001', #worker -> scheduler port
           '--sport=10000', #web -> scheduler port
           '--web-api=http://127.0.0.1:8000/api/v1', #web API URL
-          '--secret-key=%s' % get_scheduler_token(arguments['--settings']),
+          '--secret-key=%s' % get_scheduler_token(settings.SCHEDULER_ACCOUNT),
           ]
         if arguments['--verbose']:
             scheduler_arguments.append('-' + arguments['--verbose']*'v')
@@ -268,11 +268,12 @@ def main(user_input=None):
                 arguments['--scheduler-log'], qconf_exclude, delay=5)
 
         # Worker, also based on Twisted
+        from ..backend.models import Worker
         worker_arguments = [
           WORKER_BIN,
           '--prefix=%s' % arguments['--prefix'],
           '--port=10001', #scheduler port
-          '--name=node1', #node name on the scheduler (look at queue config)
+          '--name=%s' % Worker.objects.order_by('id').first().name,
           '--period=%s' % arguments['--period'], #seconds
           '--cores=%s' % arguments['--cores'],
           '--keep-erred-configuration',
-- 
GitLab