summaryrefslogtreecommitdiffstats
path: root/func
diff options
context:
space:
mode:
authorMichael DeHaan <mdehaan@redhat.com>2008-06-26 10:59:58 -0400
committerMichael DeHaan <mdehaan@redhat.com>2008-06-26 10:59:58 -0400
commit023dd3a5f40d08748189a076c865b6b6bb79b71b (patch)
tree22176f4b70ad3dc41f67e60a632ebdef25f8d62e /func
parent02e53f184e000cd8539d5243491774ac56830d73 (diff)
parentcbe2d1ef15a2d61ccad30f0f8aa742c2bc46bf9e (diff)
downloadthird_party-func-023dd3a5f40d08748189a076c865b6b6bb79b71b.tar.gz
third_party-func-023dd3a5f40d08748189a076c865b6b6bb79b71b.tar.xz
third_party-func-023dd3a5f40d08748189a076c865b6b6bb79b71b.zip
Merge branch 'kadamski-async2'
Conflicts: func/jobthing.py
Diffstat (limited to 'func')
-rw-r--r--func/jobthing.py9
-rw-r--r--func/overlord/base_command.py6
-rw-r--r--func/overlord/cmd_modules/call.py2
3 files changed, 10 insertions, 7 deletions
diff --git a/func/jobthing.py b/func/jobthing.py
index 93c26f0..be23cc9 100644
--- a/func/jobthing.py
+++ b/func/jobthing.py
@@ -23,7 +23,7 @@ import sys
import fcntl
import forkbomb
import utils
-import signal
+import pprint
JOB_ID_RUNNING = 0
JOB_ID_FINISHED = 1
@@ -111,14 +111,13 @@ def batch_run(pool, callback, nforks):
operation will be created in cachedir and subsequently deleted.
"""
- job_id = time.time()
+ job_id = pprint.pformat(time.time())
+ __update_status(job_id, JOB_ID_RUNNING, -1)
pid = os.fork()
if pid != 0:
- __update_status(job_id, JOB_ID_RUNNING, -1)
return job_id
else:
# kick off the job
- __update_status(job_id, JOB_ID_RUNNING, -1)
results = forkbomb.batch_run(pool, callback, nforks)
# we now have a list of job id's for each minion, kill the task
@@ -133,7 +132,7 @@ def minion_async_run(retriever, method, args):
# minion jobs contain the string "minion".
- job_id = "%s-minion" % time.time()
+ job_id = "%s-minion" % pprint.pformat(time.time())
__update_status(job_id, JOB_ID_RUNNING, -1)
pid = os.fork()
if pid != 0:
diff --git a/func/overlord/base_command.py b/func/overlord/base_command.py
index 8f16eca..f7c33c0 100644
--- a/func/overlord/base_command.py
+++ b/func/overlord/base_command.py
@@ -23,11 +23,13 @@ class BaseCommand(command.Command):
interactive = False
verbose=0
port=DEFAULT_PORT
+ async=False
+ forks=1
def getOverlord(self):
self.overlord_obj = client.Overlord(self.server_spec,
port=self.port,
interactive=self.interactive,
verbose=self.verbose,
config=self.config,
- async=self.options.async,
- nforks=self.options.forks)
+ async=self.async,
+ nforks=self.forks)
diff --git a/func/overlord/cmd_modules/call.py b/func/overlord/cmd_modules/call.py
index bb9a61e..53db70e 100644
--- a/func/overlord/cmd_modules/call.py
+++ b/func/overlord/cmd_modules/call.py
@@ -122,6 +122,8 @@ class Call(base_command.BaseCommand):
self.interactive = False
+ self.async = self.options.async
+ self.forks = self.options.forks
self.server_spec = self.parentCommand.server_spec
self.getOverlord()