У меня довольно простая программа, в которую каждая задача, добавленная в taskq, выполняет и вычисляет что-то, скажем, в течение 30 секунд. Эта задача «не» работает в каком-то времени или для цикла.Python - Остановить длинный поток taskq
def run(self):
while not self.stopper.is_set():
DO_MY_30_SECONDS_WORK(self)
self.task_done()
Теперь, предполагая, что у меня есть thread.event и это можно проверить до/после выполнения задачи. Но есть ли способ сказать уже запущенному потоку остановить или закрыть его выполнение.
У меня была проблема, похожая на ваш прошлый год, и использовала СИГНАЛы для решения проблемы. Вы можете запустить другой поток с помощью основного потока и запустить счетчик времени в вспомогательном потоке. Когда счетчик заканчивает подавать сигнал на главную нить и убивает его, получая в нем сигналы. Вы можете захотеть взглянуть на [это] (https://pymotw.com/2/signal/) – cengineer
- ваша задача - некоторый код на Python, или это другая программа, которую вы запускаете с помощью 'subprocess'? – hansaplast
Это просто код на Python, но, возможно, использование вызовов Curl. – Jay