Получать данные каждое определенное время посредством API, которого он использует websockets

Я работаю с API платформы, чтобы получать котировки валюты минута в минуту, у меня есть способ это делать, но он не является очень функциональным и он хотел консультировать, если бы кто-то мог помогать мне, это мой код:

from iqoptionapi.api import IQOptionAPI
from datetime import datetime

velas = None
contador = 1

while True:

    if velas is None:
        api = IQOptionAPI("iqoption.com", "usuario", "contraseña") # Datos de conexión 
        api.connect()
        api.getcandles(1,1) # (id_activo, tiempo)
        velas = api.candles.candles_data # Lista con vela 1 segundo retrasada y vela actual
        print ("Intento de conexion...\n")
    else:
        if datetime.now().second == 59 and datetime.now().microsecond > 998000: # determinar cuándo sea un minuto
            print ("Peticion de velas:", contador, "-", datetime.now(), "\n")
            api.getcandles(1, 1)
            velas = api.candles.candles_data
            print (velas, "\n")
            print ("Hora primera lista:" datetime.fromtimestamp(velas[0][0]), "Hora segunda lista:", datetime.fromtimestamp(velas[1][0]), "\n")
            contador += 1
        else:
            pass

Проблема коренится в, что aveces получает более одной котировки, потому что в существо цикл еще падает через 59 секунд или даже есть разы, что ничего не получает из-за того, что не падает в ранг сравнения, старайтесь решать это с time.sleep(60) но меня вводит desface минуты в котировки, что не, потому что он происходит.

Спасибо.

0
задан 25.01.2017, 09:33
0 ответов

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

Для этого существуют книжные магазины программирования заданий, типа cron или configurables, брось глаз в этот книжный магазин посмотрим ты можешь конфигурировать один, не теряя головы.

Попытайся с этим: https://docs.python.org/2/library/sched.html

1
ответ дан 03.12.2019, 17:30
  • 1
    Привет Soteck. Я проголосовал в против, потому что я считаю, что это не ответ, если не комментарий. –  25.01.2017, 10:40
  • 2
    @lois6b с моим reputació n я не могу высказывать мнения, но даже así ahí было мое зернышко песка, чтобы помогать. Спасибо. –  25.01.2017, 11:17
  • 3
    Ну, не расстраивайся, уже podrá в. Но это не извинение, чтобы печатать не подходящий ответ. Ты можешь издавать ее añ adiendo код твоей ссылки и объясняя ему, как делать это приспособленным к Вашей проблеме. Таким был бы хороший ответ ^^ –  25.01.2017, 11:20
  • 4
    Привет @Soteck. Не беспокойся, понемногу irá s преуспевая reputació n и podrá s высказывать мнения. Тем временем, я рекомендую тебя перемещать тебя из-за секций CГіmo отвечать и , пробежавшие , чтобы учиться реализовывать публикации качества. Не теряй присутствие духа и вперед, останься así! –  25.01.2017, 11:46

Теги

Похожие вопросы