Вызов метода для запущенного процесса в python - PullRequest
1 голос
/ 01 апреля 2020

У меня есть класс Feed , который использует многопроцессорную обработку для захвата и обработки видео. Я хочу прекратить захват, который происходит в то время как l oop, если _camera_running имеет значение false, но когда я вызываю метод stop_camera_running, он не оказывает никакого влияния, он завершает свое выполнение, но не влияет на значение _camera_running .

class Feed(multiprocessing.Process):
    def __init__(self):
        self._camera_running = True

    def stop_camera_running(self):
        self._camera_running = False

    def run(self):
        while self._camera_running:
            # Video camture...
            # Process frame...

Мой вопрос: я что-то упускаю, чтобы можно было вызывать методы для запущенного процесса? Я также должен добавить, что stop_camera_method управляется через API, и каналы сохраняются в списке, а затем запускаются после их добавления. У API есть доступ к этому списку процессов подачи.

1 Ответ

0 голосов
/ 01 апреля 2020

Теперь я не вижу ваш код, где вы use stop_camera_running

вы можете сделать следующее. Предполагая, что именно здесь вы хотите остановить это

 def run(self):
    while self._camera_running:
        return stop_camera_running

, оператор возврата в функции завершает его. Попробуйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...