| 426 | print(self._tb) |
| 427 | |
| 428 | def run(self): |
| 429 | try: |
| 430 | self.status = BackgroundJobBase.stat_running |
| 431 | self.stat_code = BackgroundJobBase.stat_running_c |
| 432 | self.result = self.call() |
| 433 | except: |
| 434 | self.status = BackgroundJobBase.stat_dead |
| 435 | self.stat_code = BackgroundJobBase.stat_dead_c |
| 436 | self.finished = None |
| 437 | self.result = ('<BackgroundJob died, call jobs.traceback() for details>') |
| 438 | self._tb = self._make_tb() |
| 439 | else: |
| 440 | self.status = BackgroundJobBase.stat_completed |
| 441 | self.stat_code = BackgroundJobBase.stat_completed_c |
| 442 | self.finished = True |
| 443 | |
| 444 | |
| 445 | class BackgroundJobExpr(BackgroundJobBase): |