TaskTester.py 638 B

123456789101112131415161718192021222324252627282930
  1. """Undocumented Module"""
  2. __all__ = []
  3. from direct.task.TaskManagerGlobal import *
  4. import direct.task.Task
  5. import random
  6. numTasks = 10000
  7. maxDelay = 20
  8. counter = 0
  9. def spawnNewTask():
  10. global counter
  11. counter = (counter + 1) % 1000
  12. delay = random.random() * maxDelay
  13. taskMgr.doMethodLater(delay, taskCallback, ("taskTester-%s" % counter))
  14. def taskCallback(task):
  15. randNum = int(round(random.random() * 1000))
  16. n = ("taskTester-%s" % randNum)
  17. taskMgr.remove(n)
  18. spawnNewTask()
  19. spawnNewTask()
  20. return Task.done
  21. taskMgr.removeTasksMatching("taskTester*")
  22. for i in range(numTasks):
  23. spawnNewTask()