Повторяющийся ответ кеша вызовов API, поэтому мне нужно полностью убить его и повторить попытку - PullRequest
0 голосов
/ 26 апреля 2018

По сути, у меня есть ряд условий, которые запускают это:

while True:
            try:
                print "trying to buy a"
                buy(ashr ,tickers[0], client)                  
            except:
                continue
            break

При этом используется API, который в основном использует MechanicalSoup для заполнения одной или двух форм на веб-сайте.По какой-то причине действие завершится неудачно после запуска и продолжится (как говорит True), пока я не принудительно выйду из программы.

Я предполагаю, что что-то кэшируется, потому что нет логической причины, по которой оно могло бы проваливаться сотни раз.

Как я могу заставить его полностью убить все, что происходит, и повторить попыткус нуля?

Спасибо

РЕДАКТИРОВАТЬ: больше кода

def buy(shares, ticker, client):
    client.trade(ticker,ita.Action.buy, shares)

ashr = int(200/ita.get_quote(tickers[0]))

client = ita.Account("example.un", "example.pw")

Ита является основным модулем InvestopediaAPI, который я использую для запуска покупок и продаж натрейдер бумаги Investtopedia.Если мне нужно дать код из этого API, я могу найти его исходный код.

1 Ответ

0 голосов
/ 26 апреля 2018

В соответствии с предложением pkisztelinski, вы попросили программу продолжить следующий этап итерации, когда есть исключение, поэтому, если исключение повторяется, это может привести к бесконечному циклу.

однако, если вы хотите узнать, что произошло исключение, вы можете сделать это

while True:
            try:
                print "trying to buy a"
                buy(ashr ,tickers[0], client)                  
            except Exception as e:
                print('Error occured '+str(e))
                break
...