Как запустить несколько параллельных экземпляров питона Infinite Loop Bot с разными аргументами одновременно?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как запустить несколько параллельных экземпляров питона Infinite Loop Bot с разными аргументами одновременно?

Сообщение Anonymous »

У меня один год опыта работы с Python; Тем не менее, я все еще считаю себя новичком, потому что мне не хватает четкого понимания его основ. Теперь мне нужно одновременно запустить несколько экземпляров этого бота, каждый для отдельной пары форекс (например, 'eur_usd', 'usd_jpy'). Я любезно хочу спросить советы, как сделать это правильно и надежно? > Запрашивает обмен и получает последние данные один раз через 5 минут
[*] Проверки на открытие позиции
Если сигнал существует, отправьте запрос на открытие позиции
Смотрит открытое положение, пока оно не будет закрыто < /li>
снова запускает весь процесс < /li>
< /ol>
Вот фрагмент кода из Core -программы
def Run (self): < /p>
if self.state == 'fetch_data':
self.s1.run_pending()

elif self.state == 'check_signal':
self.check_signal()

elif self.state == 'open_position':
self.open_position()

elif self.state == 'watch_trade':
self.watch_trade()
< /code>
Мне нужен этот бот, чтобы запустить в фоновом режиме в течение многих дней. Итак, в моем Main.py я делаю это: < /p>
def run_bot(ticker):
bot = Bot(ticker)
while True:
bot.run()
time.sleep(0.1)
< /code>
Тогда я попытался использовать многопроцесс (и одновременно запускать несколько экземпляров одновременно. < /p>
from concurrent.futures import ProcessPoolExecutor

if __name__ == '__main__':

with ProcessPoolExecutor(max_workers=3) as executor:
executor.map(run_bot, TICKERS)
print(f'Run process ...')
< /code>
Проблема с многопроцестрой заключается в том, что она работает некоторое время, а затем застряла (примерно через 1 час). По сути, это начинает пропускать некоторые запросы запланированных. Иногда он возобновляется позже и может сделать несколько запросов (обычно с задержкой в ​​несколько минут по сравнению с запланированным временем), а затем снова застрял. Полем Здесь предложено исправление. Я попробовал это, но это не сработало для меня. Он бросает ошибку из -за этой строки кода. Однако эта линия была фактически предложена в качестве решения. < /P>
from multiprocessing import set_start_method
set_start_method("spawn")
< /code>
Подводя итог, есть несколько вопросов, которые я пытаюсь найти ответы на: < /p>

Общий. Как лучше всего запускать несколько экземпляров приложения /бота одновременно? Процесс никогда не заканчивается, пока не будет остановлен. < /Li>
Каковы потенциальные альтернативы? что каждый из экземпляров бота, чтобы быть как -то независимым. Если один экземпляр бросает ошибку или сбой другой должен продолжать работать.

Подробнее здесь: https://stackoverflow.com/questions/794 ... ifferent-a
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как запустить несколько параллельных экземпляров питона Infinite Loop Bot с разными аргументами одновременно?
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Infinite Loop, пытаясь прочитать последнюю строку inputstream
    Anonymous » » в форуме JAVA
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Android Studio "Найти использование" Infinite Loop
    Anonymous » » в форуме Android
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Android Studio "Найти использование" Infinite Loop
    Anonymous » » в форуме Android
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • JS Infinite Loop с ожиданием создает утечку памяти
    Anonymous » » в форуме Javascript
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»