Очередь и отправка длинных симуляций - PullRequest
0 голосов
/ 26 октября 2018

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

Мой код на сегодняшний день использует systime, subprocess и пакет watchdog;он отслеживает папку для новых файлов запуска, помещает их в очередь FIFO и выполняет их одновременно до заданного предела.Это работает, но немного неуклюже, и управлять этим динамически нецелесообразно.

Я не ученый или программист ;Вот почему я прошу о помощи.Несмотря на это, я уверен, что смогу выполнить (большую часть) работу по кодированию, но мне хотелось бы получить несколько советов по следующим вопросам:

  • Как называются компьютерные науки для некоторых изконцепции, которые я описываю
  • Какие пакеты существуют для выполнения некоторых из этих вещей в Python 3.x
  • Какие подходы вы бы использовали для этих вещей
  • Чтоструктуры данных, которые вы можете использовать для этого

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


Некоторые подробности об имитации:

  • Полностью основано на Windows 10
  • Один из трех или четырех различных вариантов
  • Выполняется из командной строки со ссылкой на входной файл
  • Симуляции либо терпят неудачу мгновенно или почти мгновенно, либо выполняются в течение нескольких часов, дней или даже недель
  • Типичные партии могут содержать до десятковсимуляции
  • симуляции используют много оперативной памяти и весь процессор

Я должен также отметить, что в соответствии с условиями лицензий на программное обеспечение для моделирования, мне категорически запрещено использовать третьисторонние платформы облачных вычислений.

Вот что мне нужно для этого модуля:

  • Моделирование отправляется автоматически
  • Одновременное моделирование до предела
  • Очередь выполняется бесконечно
  • Очередь может быть добавлена ​​динамически (ссылка в новом файле)
  • Отзывы о том, что работает и что находится в очереди
  • Сначала в очередь, сначала в очередь

И некоторые дополнительные идеи от пользователей о том, что было бы приятно иметь :

  • Может отправлять симуляции на несколько компьютеров
  • Предел одновременной симуляции можетможет быть динамически изменено
  • Система приоритетов
  • Симуляции могут быть прекращены досрочно
  • Если модуль выходит из строя, может быть перезапущен без необходимости перестраивать очередь
  • Aинтерфейс на основе браузера, где можно просматривать / управлять очередью
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...