class TaskStarted(TaskBase):
"""Task execution started"""
+ def __init__(self, t, logfile, taskflags, d):
+ super(TaskStarted, self).__init__(t, logfile, d)
+ self.taskflags = taskflags
class TaskSucceeded(TaskBase):
"""Task execution completed"""
localdata.setVar('BB_LOGFILE', logfn)
localdata.setVar('BB_RUNTASK', task)
- event.fire(TaskStarted(task, logfn, localdata), localdata)
+ flags = localdata.getVarFlags(task)
+
+ event.fire(TaskStarted(task, logfn, flags, localdata), localdata)
try:
for func in (prefuncs or '').split():
exec_func(func, localdata)
task_information['outcome'] = Task.OUTCOME_EXISTING
else:
task_information['task_executed'] = True
+ if 'noexec' in vars(event) and event.noexec == True:
+ task_information['script_type'] = Task.CODING_NOEXEC
self.task_order += 1
task_information['order'] = self.task_order
if '_message' in vars(event):
task_information['message'] = event._message
- if 'ispython' in vars(event):
- if event.ispython:
+ if 'taskflags' in vars(event):
+ # with TaskStarted, we get even more information
+ if 'python' in event.taskflags.keys() and event.taskflags['python'] == '1':
task_information['script_type'] = Task.CODING_PYTHON
else:
task_information['script_type'] = Task.CODING_SHELL
(SSTATE_RESTORED, 'Restored'), # succesfully restored
)
- CODING_PYTHON = 0
- CODING_SHELL = 1
+ CODING_NOEXEC = 0
+ CODING_PYTHON = 1
+ CODING_SHELL = 2
TASK_CODING = (
+ (CODING_NOEXEC, 'NoExec'),
(CODING_PYTHON, 'Python'),
(CODING_SHELL, 'Shell'),
)
task_name = models.CharField(max_length=100)
source_url = models.FilePathField(max_length=255, blank=True)
work_directory = models.FilePathField(max_length=255, blank=True)
- script_type = models.IntegerField(choices=TASK_CODING, default=CODING_PYTHON)
+ script_type = models.IntegerField(choices=TASK_CODING, default=CODING_NOEXEC)
line_number = models.IntegerField(default=0)
disk_io = models.IntegerField(null=True)
cpu_usage = models.DecimalField(max_digits=6, decimal_places=2, null=True)