[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r22781 - gnunet-planetlab/gplmt
From: |
gnunet |
Subject: |
[GNUnet-SVN] r22781 - gnunet-planetlab/gplmt |
Date: |
Fri, 20 Jul 2012 10:47:59 +0200 |
Author: wachs
Date: 2012-07-20 10:47:59 +0200 (Fri, 20 Jul 2012)
New Revision: 22781
Modified:
gnunet-planetlab/gplmt/Worker.py
Log:
modified schmea
Modified: gnunet-planetlab/gplmt/Worker.py
===================================================================
--- gnunet-planetlab/gplmt/Worker.py 2012-07-20 08:39:36 UTC (rev 22780)
+++ gnunet-planetlab/gplmt/Worker.py 2012-07-20 08:47:59 UTC (rev 22781)
@@ -41,6 +41,59 @@
self.threadID = threadID
self.node = node
self.tasks = tasks
+ def exec_run (self, task, transport):
+ fail = False
+ g_logger.log (self.node + " : Task '"+ task.command + " " +
task.arguments + "'")
+ channel = transport.open_session()
+ channel.settimeout(1.0)
+ channel.exec_command(task.command + " " + task.arguments)
+
+ if (task.timeout > 0):
+ timeout = task.timeout
+ else:
+ timeout = 10
+ exec_time = 0
+ result = Tasks.Taskresult.success
+ while ((not channel.exit_status_ready()) and (exec_time < timeout)):
+ time.sleep(1)
+ exec_time += 1
+ if (exec_time < timeout):
+ stdout = channel.makefile("rb")
+ stderr = channel.makefile_stderr("rb")
+
+ stdout_data = stdout.readlines()
+ stderr_data = stderr.readlines()
+ exit_status = channel.recv_exit_status()
+ else:
+ g_logger.log (self.node + " : Task '"+ task.name + "' had timeout
after " +str (exec_time)+ " seconds")
+ result = Tasks.Taskresult.timeout
+
+ if (result == Tasks.Taskresult.success):
+ if (exit_status != task.expected_return_code):
+ g_logger.log (self.node + " : Task '"+ task.name + "'
completed, but exit code " +str(exit_status)+ " was not as expected " +
str(task.expected_return_code))
+ result = Tasks.Taskresult.return_value_did_not_match
+ else:
+ g_logger.log (self.node + " : Task '"+ task.name + "'
completed, exit code " +str(exit_status)+ " was as expected " +
str(task.expected_return_code))
+
+ if ((fail == False) and (task.expected_output != None)):
+ output_contained = False
+ for l in stdout_data:
+ if (task.expected_output in l):
+ output_contained = True
+ for l in stderr_data:
+ if (task.expected_output in l):
+ output_contained = True
+ if (output_contained == True):
+ g_logger.log (self.node + " : Task '"+ task.name + "'
expected output '"+task.expected_output+"' was found")
+ else:
+ g_logger.log (self.node + " : Task '"+ task.name + "'
expected output '"+task.expected_output+"' was not found")
+ result = Tasks.Taskresult.output_did_not_match
+
+ if (result == Tasks.Taskresult.success):
+ g_logger.log (self.node + " : Task '"+ task.name + "' successful")
+ else:
+ g_logger.log (self.node + " : Task '"+ task.name + "' failed")
+ g_notifications.task_completed (self.node, task, result)
def run(self):
success = False
g_logger.log (self.node + " : Starting tasklist " + self.tasks.name)
@@ -89,57 +142,7 @@
fail = False
if (task.__class__.__name__ == "Task"):
if (task.type == Tasks.Operation.run):
- g_logger.log (self.node + " : Task '"+ task.command + " "
+ task.arguments + "'")
- channel = transport.open_session()
- channel.settimeout(1.0)
- channel.exec_command(task.command + " " + task.arguments)
-
- if (task.timeout > 0):
- timeout = task.timeout
- else:
- timeout = 10
- exec_time = 0
- result = Tasks.Taskresult.success
- while ((not channel.exit_status_ready()) and (exec_time <
timeout)):
- time.sleep(1)
- exec_time += 1
- if (exec_time < timeout):
- stdout = channel.makefile("rb")
- stderr = channel.makefile_stderr("rb")
-
- stdout_data = stdout.readlines()
- stderr_data = stderr.readlines()
- exit_status = channel.recv_exit_status()
- else:
- g_logger.log (self.node + " : Task '"+ task.name + "'
had timeout after " +str (exec_time)+ " seconds")
- result = Tasks.Taskresult.timeout
-
- if (result == Tasks.Taskresult.success):
- if (exit_status != task.expected_return_code):
- g_logger.log (self.node + " : Task '"+ task.name +
"' completed, but exit code " +str(exit_status)+ " was not as expected " +
str(task.expected_return_code))
- result =
Tasks.Taskresult.return_value_did_not_match
- else:
- g_logger.log (self.node + " : Task '"+ task.name +
"' completed, exit code " +str(exit_status)+ " was as expected " +
str(task.expected_return_code))
-
- if ((fail == False) and (task.expected_output !=
None)):
- output_contained = False
- for l in stdout_data:
- if (task.expected_output in l):
- output_contained = True
- for l in stderr_data:
- if (task.expected_output in l):
- output_contained = True
- if (output_contained == True):
- g_logger.log (self.node + " : Task '"+
task.name + "' expected output '"+task.expected_output+"' was found")
- else:
- g_logger.log (self.node + " : Task '"+
task.name + "' expected output '"+task.expected_output+"' was not found")
- result = Tasks.Taskresult.output_did_not_match
-
- if (result == Tasks.Taskresult.success):
- g_logger.log (self.node + " : Task '"+ task.name + "'
successful")
- else:
- g_logger.log (self.node + " : Task '"+ task.name + "'
failed")
- g_notifications.task_completed (self.node, task, result)
+ fail = self.exec_run (task, transport)
elif (task.type == Tasks.Operation.put):
print "TO IMPLEMENT"
elif (task.type == Tasks.Operation.get):
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r22781 - gnunet-planetlab/gplmt,
gnunet <=