Как запустить две функции одновременно с использованием блока исключений try

from Заставьте 2 функции выполняться одновременно с помощью потока . Он может выполнять две функции одновременно. Можно ли вызвать функцию с потоком в блоке try, кроме блока?

import threading
from threading import Thread
import time

def queryRepeatedly():
    while True:
        while True:
            try:
                Thread(target = foo).start()
                Thread(target = bar).start()
                print ''
            except:
                continue
            else:
                break

def foo():
      print 'foo'
      time.sleep(1)
def bar():
      print 'bar'
      time.sleep(3)

queryRepeatedly()

Этот мой код не работает, мне нужно запустить две функции отдельно с блоком try, кроме блока. Что я должен делать?


person Thanawat.ch    schedule 03.07.2018    source источник
comment
не могли бы вы объяснить, почему у вас есть два, хотя True? Кроме того, какие ошибки вы пытаетесь поймать? У вас есть трассировка?   -  person madjaoue    schedule 03.07.2018
comment
я следую перезапуску программы после исключения, он может объединить два цикла в один. У меня есть две функции: первая — запись данных в базу данных (Influxdb), а вторая — запрос данных из базы данных. Мне нужно поймать время ошибки из первой функции.   -  person Thanawat.ch    schedule 03.07.2018
comment
Ваша проблема решена?   -  person madjaoue    schedule 10.07.2018
comment
Извините за опоздание, я только что попробовал это сегодня. и это работа для меня, большое спасибо. @Mium   -  person Thanawat.ch    schedule 12.07.2018


Ответы (1)


Я думаю, это может быть то, что вы ищете:

import threading
from threading import Thread
import time

def queryRepeatedly():
   Thread(target = foo).start()
   Thread(target = bar).start()

def foo():
    while True:
        try:
            print 'foo'
        except : #catch your error here
           pass # handle your error here
        finally:
           time.sleep(1)
def bar():
    While True:
        try:
           print 'bar'
        except : #catch your error here
           pass # handle your error here
        finally:
           time.sleep(3)

queryRepeatedly()
person madjaoue    schedule 03.07.2018