diff options
author | Chris Larson <chris_larson@mentor.com> | 2010-06-10 10:35:31 -0700 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2011-01-04 14:46:33 +0000 |
commit | ecc68fa4fbb579e97ea45156e79a293b073697a0 (patch) | |
tree | 6d08682e43476e37ccf48ee14c8d81e208d1c897 /bitbake/lib/bb/runqueue.py | |
parent | d3a45c7d41a88d79389fc40eb68816e4939fb6f9 (diff) | |
download | poky-ecc68fa4fbb579e97ea45156e79a293b073697a0.tar.gz |
Switch bitbake internals to use logging directly rather than bb.msg
We use a custom Logger subclass for our loggers
This logger provides:
- 'debug' method which accepts a debug level
- 'plain' method which bypasses log formatting
- 'verbose' method which is more detail than info, but less than debug
(Bitbake rev: 3b2c1fe5ca56daebb24073a9dd45723d3efd2a8d)
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'bitbake/lib/bb/runqueue.py')
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 90 |
1 files changed, 44 insertions, 46 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 94b456a988..94b9cab5ed 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
@@ -22,22 +22,25 @@ Handles preparation and execution of a queue of tasks | |||
22 | # with this program; if not, write to the Free Software Foundation, Inc., | 22 | # with this program; if not, write to the Free Software Foundation, Inc., |
23 | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | 23 | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
24 | 24 | ||
25 | import bb, os, sys | 25 | import os |
26 | import sys | ||
26 | import subprocess | 27 | import subprocess |
27 | import signal | 28 | import signal |
28 | import stat | 29 | import stat |
29 | import fcntl | 30 | import fcntl |
30 | import copy | 31 | import copy |
31 | import logging | 32 | import logging |
33 | import bb | ||
32 | from bb import msg, data, event | 34 | from bb import msg, data, event |
33 | 35 | ||
34 | bblogger = logging.getLogger("BitBake") | 36 | bblogger = logging.getLogger("BitBake") |
37 | logger = logging.getLogger("BitBake.RunQueue") | ||
35 | 38 | ||
36 | try: | 39 | try: |
37 | import cPickle as pickle | 40 | import cPickle as pickle |
38 | except ImportError: | 41 | except ImportError: |
39 | import pickle | 42 | import pickle |
40 | bb.msg.note(1, bb.msg.domain.Cache, "Importing cPickle failed. Falling back to a very slow implementation.") | 43 | logger.info("Importing cPickle failed. Falling back to a very slow implementation.") |
41 | 44 | ||
42 | class RunQueueStats: | 45 | class RunQueueStats: |
43 | """ | 46 | """ |
@@ -363,14 +366,14 @@ class RunQueueData: | |||
363 | for task in range(numTasks): | 366 | for task in range(numTasks): |
364 | if task_done[task] is False or deps_left[task] != 0: | 367 | if task_done[task] is False or deps_left[task] != 0: |
365 | problem_tasks.append(task) | 368 | problem_tasks.append(task) |
366 | bb.msg.debug(2, bb.msg.domain.RunQueue, "Task %s (%s) is not buildable\n" % (task, self.get_user_idstring(task))) | 369 | logger.debug(2, "Task %s (%s) is not buildable\n", task, self.get_user_idstring(task)) |
367 | bb.msg.debug(2, bb.msg.domain.RunQueue, "(Complete marker was %s and the remaining dependency count was %s)\n\n" % (task_done[task], deps_left[task])) | 370 | logger.debug(2, "(Complete marker was %s and the remaining dependency count was %s)\n\n", task_done[task], deps_left[task]) |
368 | 371 | ||
369 | if problem_tasks: | 372 | if problem_tasks: |
370 | message = "Unbuildable tasks were found.\n" | 373 | message = "Unbuildable tasks were found.\n" |
371 | message = message + "These are usually caused by circular dependencies and any circular dependency chains found will be printed below. Increase the debug level to see a list of unbuildable tasks.\n\n" | 374 | message = message + "These are usually caused by circular dependencies and any circular dependency chains found will be printed below. Increase the debug level to see a list of unbuildable tasks.\n\n" |
372 | message = message + "Identifying dependency loops (this may take a short while)...\n" | 375 | message = message + "Identifying dependency loops (this may take a short while)...\n" |
373 | bb.msg.error(bb.msg.domain.RunQueue, message) | 376 | logger.error(message) |
374 | 377 | ||
375 | msgs = self.circular_depchains_handler(problem_tasks) | 378 | msgs = self.circular_depchains_handler(problem_tasks) |
376 | 379 | ||
@@ -398,7 +401,7 @@ class RunQueueData: | |||
398 | # Nothing to do | 401 | # Nothing to do |
399 | return 0 | 402 | return 0 |
400 | 403 | ||
401 | bb.msg.note(1, bb.msg.domain.RunQueue, "Preparing runqueue") | 404 | logger.info("Preparing runqueue") |
402 | 405 | ||
403 | # Step A - Work out a list of tasks to run | 406 | # Step A - Work out a list of tasks to run |
404 | # | 407 | # |
@@ -445,7 +448,7 @@ class RunQueueData: | |||
445 | fn = taskData.fn_index[fnid] | 448 | fn = taskData.fn_index[fnid] |
446 | task_deps = self.dataCache.task_deps[fn] | 449 | task_deps = self.dataCache.task_deps[fn] |
447 | 450 | ||
448 | bb.msg.debug(2, bb.msg.domain.RunQueue, "Processing %s:%s" %(fn, taskData.tasks_name[task])) | 451 | logger.debug(2, "Processing %s:%s", fn, taskData.tasks_name[task]) |
449 | 452 | ||
450 | if fnid not in taskData.failed_fnids: | 453 | if fnid not in taskData.failed_fnids: |
451 | 454 | ||
@@ -505,7 +508,7 @@ class RunQueueData: | |||
505 | # Rmove all self references | 508 | # Rmove all self references |
506 | if task in depends: | 509 | if task in depends: |
507 | newdep = [] | 510 | newdep = [] |
508 | bb.msg.debug(2, bb.msg.domain.RunQueue, "Task %s (%s %s) contains self reference! %s" % (task, taskData.fn_index[taskData.tasks_fnid[task]], taskData.tasks_name[task], depends)) | 511 | logger.debug(2, "Task %s (%s %s) contains self reference! %s", task, taskData.fn_index[taskData.tasks_fnid[task]], taskData.tasks_name[task], depends) |
509 | for dep in depends: | 512 | for dep in depends: |
510 | if task != dep: | 513 | if task != dep: |
511 | newdep.append(dep) | 514 | newdep.append(dep) |
@@ -567,7 +570,7 @@ class RunQueueData: | |||
567 | # as active too. If the task is to be 'forced', clear its stamp. Once | 570 | # as active too. If the task is to be 'forced', clear its stamp. Once |
568 | # all active tasks are marked, prune the ones we don't need. | 571 | # all active tasks are marked, prune the ones we don't need. |
569 | 572 | ||
570 | bb.msg.note(2, bb.msg.domain.RunQueue, "Marking Active Tasks") | 573 | logger.verbose("Marking Active Tasks") |
571 | 574 | ||
572 | def mark_active(listid, depth): | 575 | def mark_active(listid, depth): |
573 | """ | 576 | """ |
@@ -600,7 +603,7 @@ class RunQueueData: | |||
600 | 603 | ||
601 | # Remove stamps for targets if force mode active | 604 | # Remove stamps for targets if force mode active |
602 | if self.cooker.configuration.force: | 605 | if self.cooker.configuration.force: |
603 | bb.msg.note(2, bb.msg.domain.RunQueue, "Remove stamp %s, %s" % (target[1], fn)) | 606 | logger.verbose("Remove stamp %s, %s", target[1], fn) |
604 | bb.build.del_stamp(target[1], self.dataCache, fn) | 607 | bb.build.del_stamp(target[1], self.dataCache, fn) |
605 | 608 | ||
606 | if fnid in taskData.failed_fnids: | 609 | if fnid in taskData.failed_fnids: |
@@ -643,7 +646,7 @@ class RunQueueData: | |||
643 | else: | 646 | else: |
644 | bb.msg.fatal(bb.msg.domain.RunQueue, "No active tasks and not in --continue mode?! Please report this bug.") | 647 | bb.msg.fatal(bb.msg.domain.RunQueue, "No active tasks and not in --continue mode?! Please report this bug.") |
645 | 648 | ||
646 | bb.msg.note(2, bb.msg.domain.RunQueue, "Pruned %s inactive tasks, %s left" % (delcount, len(self.runq_fnid))) | 649 | logger.verbose("Pruned %s inactive tasks, %s left", delcount, len(self.runq_fnid)) |
647 | 650 | ||
648 | # Remap the dependencies to account for the deleted tasks | 651 | # Remap the dependencies to account for the deleted tasks |
649 | # Check we didn't delete a task we depend on | 652 | # Check we didn't delete a task we depend on |
@@ -656,7 +659,7 @@ class RunQueueData: | |||
656 | newdeps.append(maps[origdep]) | 659 | newdeps.append(maps[origdep]) |
657 | self.runq_depends[listid] = set(newdeps) | 660 | self.runq_depends[listid] = set(newdeps) |
658 | 661 | ||
659 | bb.msg.note(2, bb.msg.domain.RunQueue, "Assign Weightings") | 662 | logger.verbose("Assign Weightings") |
660 | 663 | ||
661 | # Generate a list of reverse dependencies to ease future calculations | 664 | # Generate a list of reverse dependencies to ease future calculations |
662 | for listid in range(len(self.runq_fnid)): | 665 | for listid in range(len(self.runq_fnid)): |
@@ -675,7 +678,7 @@ class RunQueueData: | |||
675 | #self.dump_data(taskData) | 678 | #self.dump_data(taskData) |
676 | bb.msg.fatal(bb.msg.domain.RunQueue, "Task %s (%s) has circular dependency on %s (%s)" % (taskData.fn_index[self.runq_fnid[dep]], self.runq_task[dep], taskData.fn_index[self.runq_fnid[listid]], self.runq_task[listid])) | 679 | bb.msg.fatal(bb.msg.domain.RunQueue, "Task %s (%s) has circular dependency on %s (%s)" % (taskData.fn_index[self.runq_fnid[dep]], self.runq_task[dep], taskData.fn_index[self.runq_fnid[listid]], self.runq_task[listid])) |
677 | 680 | ||
678 | bb.msg.note(2, bb.msg.domain.RunQueue, "Compute totals (have %s endpoint(s))" % len(endpoints)) | 681 | logger.verbose("Compute totals (have %s endpoint(s))", len(endpoints)) |
679 | 682 | ||
680 | # Calculate task weights | 683 | # Calculate task weights |
681 | # Check of higher length circular dependencies | 684 | # Check of higher length circular dependencies |
@@ -698,9 +701,7 @@ class RunQueueData: | |||
698 | for prov in prov_list: | 701 | for prov in prov_list: |
699 | if len(prov_list[prov]) > 1 and prov not in self.multi_provider_whitelist: | 702 | if len(prov_list[prov]) > 1 and prov not in self.multi_provider_whitelist: |
700 | error = True | 703 | error = True |
701 | bb.msg.error(bb.msg.domain.RunQueue, "Multiple .bb files are due to be built which each provide %s (%s).\n This usually means one provides something the other doesn't and should." % (prov, " ".join(prov_list[prov]))) | 704 | logger.error("Multiple .bb files are due to be built which each provide %s (%s).\n This usually means one provides something the other doesn't and should.", prov, " ".join(prov_list[prov])) |
702 | #if error: | ||
703 | # bb.msg.fatal(bb.msg.domain.RunQueue, "Corrupted metadata configuration detected, aborting...") | ||
704 | 705 | ||
705 | 706 | ||
706 | # Create a whitelist usable by the stamp checks | 707 | # Create a whitelist usable by the stamp checks |
@@ -762,20 +763,20 @@ class RunQueueData: | |||
762 | """ | 763 | """ |
763 | Dump some debug information on the internal data structures | 764 | Dump some debug information on the internal data structures |
764 | """ | 765 | """ |
765 | bb.msg.debug(3, bb.msg.domain.RunQueue, "run_tasks:") | 766 | logger.debug(3, "run_tasks:") |
766 | for task in range(len(self.rqdata.runq_task)): | 767 | for task in range(len(self.rqdata.runq_task)): |
767 | bb.msg.debug(3, bb.msg.domain.RunQueue, " (%s)%s - %s: %s Deps %s RevDeps %s" % (task, | 768 | logger.debug(3, " (%s)%s - %s: %s Deps %s RevDeps %s" % (task, |
768 | taskQueue.fn_index[self.rqdata.runq_fnid[task]], | 769 | taskQueue.fn_index[self.rqdata.runq_fnid[task]], |
769 | self.rqdata.runq_task[task], | 770 | self.rqdata.runq_task[task], |
770 | self.rqdata.runq_weight[task], | 771 | self.rqdata.runq_weight[task], |
771 | self.rqdata.runq_depends[task], | 772 | self.rqdata.runq_depends[task], |
772 | self.rqdata.runq_revdeps[task])) | 773 | self.rqdata.runq_revdeps[task])) |
773 | 774 | ||
774 | bb.msg.debug(3, bb.msg.domain.RunQueue, "sorted_tasks:") | 775 | logger.debug(3, "sorted_tasks:") |
775 | for task1 in range(len(self.rqdata.runq_task)): | 776 | for task1 in range(len(self.rqdata.runq_task)): |
776 | if task1 in self.prio_map: | 777 | if task1 in self.prio_map: |
777 | task = self.prio_map[task1] | 778 | task = self.prio_map[task1] |
778 | bb.msg.debug(3, bb.msg.domain.RunQueue, " (%s)%s - %s: %s Deps %s RevDeps %s" % (task, | 779 | logger.debug(3, " (%s)%s - %s: %s Deps %s RevDeps %s" % (task, |
779 | taskQueue.fn_index[self.rqdata.runq_fnid[task]], | 780 | taskQueue.fn_index[self.rqdata.runq_fnid[task]], |
780 | self.rqdata.runq_task[task], | 781 | self.rqdata.runq_task[task], |
781 | self.rqdata.runq_weight[task], | 782 | self.rqdata.runq_weight[task], |
@@ -913,12 +914,12 @@ class RunQueue: | |||
913 | 914 | ||
914 | # If the stamp is missing its not current | 915 | # If the stamp is missing its not current |
915 | if not os.access(stampfile, os.F_OK): | 916 | if not os.access(stampfile, os.F_OK): |
916 | bb.msg.debug(2, bb.msg.domain.RunQueue, "Stampfile %s not available\n" % stampfile) | 917 | logger.debug(2, "Stampfile %s not available\n" % stampfile) |
917 | return False | 918 | return False |
918 | # If its a 'nostamp' task, it's not current | 919 | # If its a 'nostamp' task, it's not current |
919 | taskdep = self.rqdata.dataCache.task_deps[fn] | 920 | taskdep = self.rqdata.dataCache.task_deps[fn] |
920 | if 'nostamp' in taskdep and taskname in taskdep['nostamp']: | 921 | if 'nostamp' in taskdep and taskname in taskdep['nostamp']: |
921 | bb.msg.debug(2, bb.msg.domain.RunQueue, "%s.%s is nostamp\n" % (fn, taskname)) | 922 | logger.debug(2, "%s.%s is nostamp\n" % (fn, taskname)) |
922 | return False | 923 | return False |
923 | 924 | ||
924 | if taskname.endswith("_setscene"): | 925 | if taskname.endswith("_setscene"): |
@@ -938,10 +939,10 @@ class RunQueue: | |||
938 | continue | 939 | continue |
939 | if fn == fn2 or (fulldeptree and fn2 not in stampwhitelist): | 940 | if fn == fn2 or (fulldeptree and fn2 not in stampwhitelist): |
940 | if not t2: | 941 | if not t2: |
941 | bb.msg.debug(2, bb.msg.domain.RunQueue, "Stampfile %s does not exist" % (stampfile2)) | 942 | logger.debug(2, "Stampfile %s does not exist" % (stampfile2)) |
942 | iscurrent = False | 943 | iscurrent = False |
943 | if t1 < t2: | 944 | if t1 < t2: |
944 | bb.msg.debug(2, bb.msg.domain.RunQueue, "Stampfile %s < %s" % (stampfile, stampfile2)) | 945 | logger.debug(2, "Stampfile %s < %s" % (stampfile, stampfile2)) |
945 | iscurrent = False | 946 | iscurrent = False |
946 | 947 | ||
947 | return iscurrent | 948 | return iscurrent |
@@ -972,7 +973,7 @@ class RunQueue: | |||
972 | retval = self.rqexe.execute() | 973 | retval = self.rqexe.execute() |
973 | 974 | ||
974 | if self.state is runQueueRunInit: | 975 | if self.state is runQueueRunInit: |
975 | bb.msg.note(1, bb.msg.domain.RunQueue, "Executing RunQueue Tasks") | 976 | logger.info("Executing RunQueue Tasks") |
976 | self.rqexe = RunQueueExecuteTasks(self) | 977 | self.rqexe = RunQueueExecuteTasks(self) |
977 | self.state = runQueueRunning | 978 | self.state = runQueueRunning |
978 | 979 | ||
@@ -991,7 +992,7 @@ class RunQueue: | |||
991 | 992 | ||
992 | if self.state is runQueueComplete: | 993 | if self.state is runQueueComplete: |
993 | # All done | 994 | # All done |
994 | bb.msg.note(1, bb.msg.domain.RunQueue, "Tasks Summary: Attempted %d tasks of which %d didn't need to be rerun and %d failed." % (self.rqexe.stats.completed, self.rqexe.stats.skipped, self.rqexe.stats.failed)) | 995 | logger.info("Tasks Summary: Attempted %d tasks of which %d didn't need to be rerun and %d failed." % (self.rqexe.stats.completed, self.rqexe.stats.skipped, self.rqexe.stats.failed)) |
995 | return False | 996 | return False |
996 | 997 | ||
997 | if self.state is runQueueChildProcess: | 998 | if self.state is runQueueChildProcess: |
@@ -1059,7 +1060,7 @@ class RunQueueExecute: | |||
1059 | 1060 | ||
1060 | def finish_now(self): | 1061 | def finish_now(self): |
1061 | if self.stats.active: | 1062 | if self.stats.active: |
1062 | bb.msg.note(1, bb.msg.domain.RunQueue, "Sending SIGTERM to remaining %s tasks" % self.stats.active) | 1063 | logger.info("Sending SIGTERM to remaining %s tasks", self.stats.active) |
1063 | for k, v in self.build_pids.iteritems(): | 1064 | for k, v in self.build_pids.iteritems(): |
1064 | try: | 1065 | try: |
1065 | os.kill(-k, signal.SIGTERM) | 1066 | os.kill(-k, signal.SIGTERM) |
@@ -1101,7 +1102,7 @@ class RunQueueExecute: | |||
1101 | fakedirs = (the_data.getVar("FAKEROOTDIRS", True) or "").split() | 1102 | fakedirs = (the_data.getVar("FAKEROOTDIRS", True) or "").split() |
1102 | for p in fakedirs: | 1103 | for p in fakedirs: |
1103 | bb.mkdirhier(p) | 1104 | bb.mkdirhier(p) |
1104 | bb.msg.debug(2, bb.msg.domain.RunQueue, "Running %s:%s under fakeroot, state dir is %s" % (fn, taskname, fakedirs)) | 1105 | logger.debug(2, "Running %s:%s under fakeroot, state dir is %s" % (fn, taskname, fakedirs)) |
1105 | 1106 | ||
1106 | env['PATH'] = self.cooker.configuration.initial_path | 1107 | env['PATH'] = self.cooker.configuration.initial_path |
1107 | 1108 | ||
@@ -1220,7 +1221,7 @@ class RunQueueExecuteTasks(RunQueueExecute): | |||
1220 | for scheduler in self.rqdata.schedulers: | 1221 | for scheduler in self.rqdata.schedulers: |
1221 | if self.scheduler == scheduler.name: | 1222 | if self.scheduler == scheduler.name: |
1222 | self.sched = scheduler(self, self.rqdata) | 1223 | self.sched = scheduler(self, self.rqdata) |
1223 | bb.msg.debug(1, bb.msg.domain.RunQueue, "Using runqueue scheduler '%s'" % scheduler.name) | 1224 | logger.debug(1, "Using runqueue scheduler '%s'" % scheduler.name) |
1224 | break | 1225 | break |
1225 | else: | 1226 | else: |
1226 | bb.fatal("Invalid scheduler '%s'. Available schedulers: %s" % | 1227 | bb.fatal("Invalid scheduler '%s'. Available schedulers: %s" % |
@@ -1246,7 +1247,7 @@ class RunQueueExecuteTasks(RunQueueExecute): | |||
1246 | self.runq_buildable[revdep] = 1 | 1247 | self.runq_buildable[revdep] = 1 |
1247 | fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[revdep]] | 1248 | fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[revdep]] |
1248 | taskname = self.rqdata.runq_task[revdep] | 1249 | taskname = self.rqdata.runq_task[revdep] |
1249 | bb.msg.debug(1, bb.msg.domain.RunQueue, "Marking task %s (%s, %s) as buildable" % (revdep, fn, taskname)) | 1250 | logger.debug(1, "Marking task %s (%s, %s) as buildable" % (revdep, fn, taskname)) |
1250 | 1251 | ||
1251 | def task_complete(self, task): | 1252 | def task_complete(self, task): |
1252 | self.stats.taskCompleted() | 1253 | self.stats.taskCompleted() |
@@ -1258,7 +1259,7 @@ class RunQueueExecuteTasks(RunQueueExecute): | |||
1258 | Called when a task has failed | 1259 | Called when a task has failed |
1259 | Updates the state engine with the failure | 1260 | Updates the state engine with the failure |
1260 | """ | 1261 | """ |
1261 | bb.msg.error(bb.msg.domain.RunQueue, "Task %s (%s) failed with %s" % (task, self.rqdata.get_user_idstring(task), exitcode)) | 1262 | logger.error("Task %s (%s) failed with %s" % (task, self.rqdata.get_user_idstring(task), exitcode)) |
1262 | self.stats.taskFailed() | 1263 | self.stats.taskFailed() |
1263 | fnid = self.rqdata.runq_fnid[task] | 1264 | fnid = self.rqdata.runq_fnid[task] |
1264 | self.failed_fnids.append(fnid) | 1265 | self.failed_fnids.append(fnid) |
@@ -1287,7 +1288,7 @@ class RunQueueExecuteTasks(RunQueueExecute): | |||
1287 | 1288 | ||
1288 | taskname = self.rqdata.runq_task[task] | 1289 | taskname = self.rqdata.runq_task[task] |
1289 | if self.rq.check_stamp_task(task, taskname): | 1290 | if self.rq.check_stamp_task(task, taskname): |
1290 | bb.msg.debug(2, bb.msg.domain.RunQueue, "Stamp current task %s (%s)" % (task, self.rqdata.get_user_idstring(task))) | 1291 | logger.debug(2, "Stamp current task %s (%s)" % (task, self.rqdata.get_user_idstring(task))) |
1291 | self.task_skip(task) | 1292 | self.task_skip(task) |
1292 | return True | 1293 | return True |
1293 | 1294 | ||
@@ -1295,8 +1296,7 @@ class RunQueueExecuteTasks(RunQueueExecute): | |||
1295 | 1296 | ||
1296 | taskdep = self.rqdata.dataCache.task_deps[fn] | 1297 | taskdep = self.rqdata.dataCache.task_deps[fn] |
1297 | if 'noexec' in taskdep and taskname in taskdep['noexec']: | 1298 | if 'noexec' in taskdep and taskname in taskdep['noexec']: |
1298 | bb.msg.note(1, bb.msg.domain.RunQueue, | 1299 | logger.info("Noexec task %d of %d (ID: %s, %s)" % (self.stats.completed + self.stats.active + self.stats.failed + 1, |
1299 | "Noexec task %d of %d (ID: %s, %s)" % (self.stats.completed + self.stats.active + self.stats.failed + 1, | ||
1300 | self.stats.total, | 1300 | self.stats.total, |
1301 | task, | 1301 | task, |
1302 | self.rqdata.get_user_idstring(task))) | 1302 | self.rqdata.get_user_idstring(task))) |
@@ -1306,8 +1306,7 @@ class RunQueueExecuteTasks(RunQueueExecute): | |||
1306 | self.task_complete(task) | 1306 | self.task_complete(task) |
1307 | return True | 1307 | return True |
1308 | 1308 | ||
1309 | bb.msg.note(1, bb.msg.domain.RunQueue, | 1309 | logger.info("Running task %d of %d (ID: %s, %s)" % (self.stats.completed + self.stats.active + self.stats.failed + 1, |
1310 | "Running task %d of %d (ID: %s, %s)" % (self.stats.completed + self.stats.active + self.stats.failed + 1, | ||
1311 | self.stats.total, | 1310 | self.stats.total, |
1312 | task, | 1311 | task, |
1313 | self.rqdata.get_user_idstring(task))) | 1312 | self.rqdata.get_user_idstring(task))) |
@@ -1334,11 +1333,11 @@ class RunQueueExecuteTasks(RunQueueExecute): | |||
1334 | # Sanity Checks | 1333 | # Sanity Checks |
1335 | for task in range(self.stats.total): | 1334 | for task in range(self.stats.total): |
1336 | if self.runq_buildable[task] == 0: | 1335 | if self.runq_buildable[task] == 0: |
1337 | bb.msg.error(bb.msg.domain.RunQueue, "Task %s never buildable!" % task) | 1336 | logger.error("Task %s never buildable!" % task) |
1338 | if self.runq_running[task] == 0: | 1337 | if self.runq_running[task] == 0: |
1339 | bb.msg.error(bb.msg.domain.RunQueue, "Task %s never ran!" % task) | 1338 | logger.error("Task %s never ran!" % task) |
1340 | if self.runq_complete[task] == 0: | 1339 | if self.runq_complete[task] == 0: |
1341 | bb.msg.error(bb.msg.domain.RunQueue, "Task %s never completed!" % task) | 1340 | logger.error("Task %s never completed!" % task) |
1342 | self.rq.state = runQueueComplete | 1341 | self.rq.state = runQueueComplete |
1343 | return True | 1342 | return True |
1344 | 1343 | ||
@@ -1461,12 +1460,12 @@ class RunQueueExecuteScenequeue(RunQueueExecute): | |||
1461 | 1460 | ||
1462 | for task in range(len(self.sq_revdeps)): | 1461 | for task in range(len(self.sq_revdeps)): |
1463 | if task not in valid_new and task not in noexec: | 1462 | if task not in valid_new and task not in noexec: |
1464 | bb.msg.debug(2, bb.msg.domain.RunQueue, "No package found so skipping setscene task %s" % (self.rqdata.get_user_idstring(self.rqdata.runq_setscene[task]))) | 1463 | logger.debug(2, "No package found so skipping setscene task %s" % (self.rqdata.get_user_idstring(self.rqdata.runq_setscene[task]))) |
1465 | self.task_failoutright(task) | 1464 | self.task_failoutright(task) |
1466 | 1465 | ||
1467 | #print(str(valid)) | 1466 | #print(str(valid)) |
1468 | 1467 | ||
1469 | bb.msg.note(1, bb.msg.domain.RunQueue, "Executing SetScene Tasks") | 1468 | logger.info("Executing SetScene Tasks") |
1470 | 1469 | ||
1471 | self.rq.state = runQueueSceneRun | 1470 | self.rq.state = runQueueSceneRun |
1472 | 1471 | ||
@@ -1484,7 +1483,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute): | |||
1484 | """ | 1483 | """ |
1485 | 1484 | ||
1486 | index = self.rqdata.runq_setscene[task] | 1485 | index = self.rqdata.runq_setscene[task] |
1487 | bb.msg.debug(1, bb.msg.domain.RunQueue, "Found task %s could be accelerated" % self.rqdata.get_user_idstring(index)) | 1486 | logger.debug(1, "Found task %s could be accelerated" % self.rqdata.get_user_idstring(index)) |
1488 | 1487 | ||
1489 | self.scenequeue_covered.add(task) | 1488 | self.scenequeue_covered.add(task) |
1490 | self.scenequeue_updatecounters(task) | 1489 | self.scenequeue_updatecounters(task) |
@@ -1539,7 +1538,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute): | |||
1539 | 1538 | ||
1540 | taskname = self.rqdata.runq_task[realtask] + "_setscene" | 1539 | taskname = self.rqdata.runq_task[realtask] + "_setscene" |
1541 | if self.rq.check_stamp_task(realtask, self.rqdata.runq_task[realtask]): | 1540 | if self.rq.check_stamp_task(realtask, self.rqdata.runq_task[realtask]): |
1542 | bb.msg.debug(2, bb.msg.domain.RunQueue, "Stamp for underlying task %s (%s) is current so skipping setscene varient" % (task, self.rqdata.get_user_idstring(task))) | 1541 | logger.debug(2, "Stamp for underlying task %s (%s) is current so skipping setscene varient" % (task, self.rqdata.get_user_idstring(task))) |
1543 | self.task_failoutright(task) | 1542 | self.task_failoutright(task) |
1544 | return True | 1543 | return True |
1545 | 1544 | ||
@@ -1550,12 +1549,11 @@ class RunQueueExecuteScenequeue(RunQueueExecute): | |||
1550 | return True | 1549 | return True |
1551 | 1550 | ||
1552 | if self.rq.check_stamp_task(realtask, taskname): | 1551 | if self.rq.check_stamp_task(realtask, taskname): |
1553 | bb.msg.debug(2, bb.msg.domain.RunQueue, "Setscene stamp current task %s (%s) so skip it and its dependencies" % (task, self.rqdata.get_user_idstring(realtask))) | 1552 | logger.debug(2, "Setscene stamp current task %s (%s) so skip it and its dependencies" % (task, self.rqdata.get_user_idstring(realtask))) |
1554 | self.task_skip(task) | 1553 | self.task_skip(task) |
1555 | return True | 1554 | return True |
1556 | 1555 | ||
1557 | bb.msg.note(1, bb.msg.domain.RunQueue, | 1556 | logger.info("Running setscene task %d of %d (%s:%s)" % (self.stats.completed + self.stats.active + self.stats.failed + 1, |
1558 | "Running setscene task %d of %d (%s:%s)" % (self.stats.completed + self.stats.active + self.stats.failed + 1, | ||
1559 | self.stats.total, fn, taskname)) | 1557 | self.stats.total, fn, taskname)) |
1560 | 1558 | ||
1561 | pid, pipein, pipeout = self.fork_off_task(fn, realtask, taskname) | 1559 | pid, pipein, pipeout = self.fork_off_task(fn, realtask, taskname) |