2016-04-21 4 views
2

Я написал несколько кодов в Maya, используя Maya Python, чтобы отобразить более 2000 изображений. Поскольку для майя есть много работы, чтобы закончить, во время длительного процесса рендеринга майя может потерпеть крах. Поэтому я должен создать модуль для мониторинга Майи. Если Майя застрянет, модуль должен удержать Maya и изменить ошибки. Я хочу знать, какие инструменты я могу использовать для достижения этой функции. Какой язык я должен использовать для кодирования этого модуля?Как контролировать программу майя, запущенную на моем компьютере?

ответ

0

Используйте некоторую программу renderfarm как срок или что-то еще.

1

Дешевое решение - это просто записать журнал в текстовый файл по мере запуска основного сценария и использовать отдельный процесс мониторинга для проверки этого файла при его изменении. Вот StackOverflow question, который показывает, как это сделать в Python. В вашем случае вы можете просто продолжать опрос файла и принудительно перезапустить процесс, если длительный период проходит без обновления файла журнала.

0
  1. Если вам нужно готовое к использованию приложение для вашей нужды, то используйте RenderBOX - Advanced Rendering Manager его бесплатно.

  2. Если вы хотите, чтобы программа майя работала на вашем компьютере, вы можете использовать библиотеку python psutil.

    psutil (системные утилиты) - это кросс-платформенная библиотека для получения информации о запущенных процессах и использовании системы (CPU, память, диски, сеть) в Python. Он полезен главным образом для системного мониторинга, профилирования и ограничения ресурсов процесса и управления запущенными процессами.

все, что вам нужно сделать, это: ищет "maya.exe", "mayabatch.exe", "render.exe" в процессе работы. и быстрый способ получить имя и статус процесса работы является:

import psutil 

process_id_list = psutil.pids() 

for process_id in process_id_list: 
    process = psutil.Process(process_id) 
    name = process.name() 
    status = process.status() 
    print name, status 

Это кросс-платформенной библиотеки, так что это будет работать во всех операционных систем.

Смежные вопросы