Я порождаю потоки с экземпляром модели Django и сохраняю идентификатор потока в поле. Я хотел бы использовать свойство для отображения в интерфейсе администратора, если поток все еще работает или нет. Примерно так:
class SomeModel(models.Model):
thread_id = models.CharField(max_length=255)
def _somefunction(self):
print("Hello World")
def spawn_thread(self):
t = threading.Thread(target=self._somefuction)
t.start()
self.thread_id = t.ident
self.save()
@property
def is_alive(self):
if threading.hypotetic_get_thread_by_id(self.thread_id):
return True
return False
Существует ли что-то вроде threading.hypotetic_get_thread_by_id(self.thread_id)
? Я не могу понять, как восстановить поток, используя его идентификатор. Я что-то упускаю.
На самом деле, я делаю очень глупую вещь: касаюсь файла (именуемого идентификатором потока), когда запускается поток, и удаляю его, когда поток останавливается, в то время как свойство проверяет существование файла, чтобы определить, Нить жива, но я не думаю, что это хорошее решение.
Спасибо за ваше время.