В настоящее время я работаю над webapp, созданным на основе Django. Одной из функциональных возможностей, которые ему необходимы, является возможность общаться с ROS. Тем не менее, функция ROS должна запускаться в основном потоке, и из того, что я понимаю, django порождает новые потоки каждый раз. Из-за этого, когда я пытаюсь вызвать функции ROS, я получаю ошибки, говорящие, что это не сработает, потому что это не основной поток. Я пробовал написать отдельный скрипт python и импортировать его в представления и называть его оттуда, но все равно получаю те же ошибки. Кто-нибудь знает об обходном пути к этой проблеме в Django?Можно ли использовать ROS в Django?
0
A
ответ
1
Вы должны указывать количество потоков/работников в конфигурации вашего сервера приложений (wsgi или gunicorn и т. Д.). Например, при использовании пушки, вы можете specify one thread.
В качестве альтернативы вы можете поместить все ваши вызовы ROS в нечто вроде сельдерея, а затем поставить перед ним задачи из своих представлений django. Подобно стрельбе из лука, вы можете запускать сельдерей в однопроцессном режиме, который заставляет его действовать так, как если бы он был однопоточным.
Вы не объяснили, что такое ROS. –
Я думаю, что ROS - это операционная система Robot - предоставляет библиотеки и инструменты, которые помогут разработчикам программного обеспечения создавать приложения для робототехники. Он предоставляет аппаратную абстракцию, драйверы устройств, библиотеки, визуализаторы, передачу сообщений, управление пакетами и т. Д. –
@KlausD. Алекс прав. ROS - это операционная система для роботов. –