Я занимаюсь разработкой модуля Python для управления выполнением процессов базового моделирования.Несмотря на то, что на сегодняшний день у меня есть некоторые успехи, я хотел бы улучшить его, чтобы сделать его более удобным для предназначенных, например, пользователей .
Мой код на сегодняшний день использует sys
time
, subprocess
и пакет watchdog
;он отслеживает папку для новых файлов запуска, помещает их в очередь FIFO и выполняет их одновременно до заданного предела.Это работает, но немного неуклюже, и управлять этим динамически нецелесообразно.
Я не ученый или программист ;Вот почему я прошу о помощи.Несмотря на это, я уверен, что смогу выполнить (большую часть) работу по кодированию, но мне хотелось бы получить несколько советов по следующим вопросам:
- Как называются компьютерные науки для некоторых изконцепции, которые я описываю
- Какие пакеты существуют для выполнения некоторых из этих вещей в Python 3.x
- Какие подходы вы бы использовали для этих вещей
- Чтоструктуры данных, которые вы можете использовать для этого
Я ценю любую помощь, которую вы можете предложить, и, конечно, пожалуйста, дайте мне знать, если есть лучший сайт StackExchange, где я мог бы задать этот вопрос.Заранее спасибо!
Некоторые подробности об имитации:
- Полностью основано на Windows 10
- Один из трех или четырех различных вариантов
- Выполняется из командной строки со ссылкой на входной файл
- Симуляции либо терпят неудачу мгновенно или почти мгновенно, либо выполняются в течение нескольких часов, дней или даже недель
- Типичные партии могут содержать до десятковсимуляции
- симуляции используют много оперативной памяти и весь процессор
Я должен также отметить, что в соответствии с условиями лицензий на программное обеспечение для моделирования, мне категорически запрещено использовать третьисторонние платформы облачных вычислений.
Вот что мне нужно для этого модуля:
- Моделирование отправляется автоматически
- Одновременное моделирование до предела
- Очередь выполняется бесконечно
- Очередь может быть добавлена динамически (ссылка в новом файле)
- Отзывы о том, что работает и что находится в очереди
- Сначала в очередь, сначала в очередь
И некоторые дополнительные идеи от пользователей о том, что было бы приятно иметь :
- Может отправлять симуляции на несколько компьютеров
- Предел одновременной симуляции можетможет быть динамически изменено
- Система приоритетов
- Симуляции могут быть прекращены досрочно
- Если модуль выходит из строя, может быть перезапущен без необходимости перестраивать очередь
- Aинтерфейс на основе браузера, где можно просматривать / управлять очередью