Всем привет! Возникает проблема, когда я пытаюсь запустить файл в UiPath с помощью файла Python: сначала он работает без проблем, но в определённый момент выполнения перестаёт работать и зависает. Однако, когда я останавливаю процесс в UiPath, файл Python продолжает выполняться, словно по волшебству, и завершает работу. Но для этого мне приходится останавливать процесс в UiPath.
UiPath Python freezes coz it spawns a separate python.exe process that doesn’t stop with UiPath.
When you hit stop, UiPath kills its part but Python keeps chugging in background till done.
Quick fix: Kill lingering python.exe in Task Manager before run > Test script alone in cmd/PyCharm first > Use Load Python Script + Invoke Method (not direct file) > Add prints/try-catch in Python to spot hangs > Wrap in Try Catch + Terminate Workflow. Update UiPath.Python.Activities package too.
UiPath зависает, потому что запускает Python как отдельный процесс python.exe. Если скрипт блокируется или выводит большой объём данных, UiPath бесконечно ждёт, а python.exe продолжает работать в фоновом режиме. Когда вы нажимаете «Остановить», UiPath останавливается, но Python продолжает работать и нормально завершается.
Исправить это можно так: использовать Load Script + Invoke Method, уменьшить объём возвращаемых данных, добавить журналы в Python, обновить пакет Python и завершать оставшиеся процессы python.exe перед повторным запуском.
Если это помогло решить проблему, отметьте ответ как решение, чтобы он помог и другим.
Это происходит потому, что UiPath ожидает ответа от Python, но ваш скрипт Python продолжает работать в фоновом режиме, и UiPath считает, что он «завис».
Попробуйте сделать следующее:
Добавьте это в начало скрипта.
import sys
sys.stdout = open(sys.devnull, ‘w’)
Кроме того, всегда возвращайте что-нибудь из метода.
Вызывайте его с помощью:
Python Scope
Load Script
Invoke Python Method: main
И наконец, НЕ используйте Run Python Script для длительных процессов
Вместо этого поместите весь код в функцию и вызовите её с помощью Invoke Python Method.