Python (Django) выполняет код в основном потоке

Я пытаюсь использовать request_html для анализа HTML-страницы, которая требует рендеринга JavaScript. И я обнаружил, что использование этой библиотеки (мое последнее пристанище) требует обработки ТОЛЬКО в основном потоке.

Дело в том, что я получаю запрос на запуск всего процесса в запросе представления Django, который создается в отдельном потоке, а не в потоке пользовательского интерфейса, что усложняет задачу.

Кажется, нет четко определенного способа порождения вещей в главном потоке из другого! (Как есть в Android (Java) например: activity.runOnUiThread (callback...)).

Python предоставляет циклы и очереди, но я мог бы найти небольшое объяснение того, как сигнализировать основному циклу Python (Django?) О выполнении обратного вызова. Не говорить о том, чтобы ждать, пока это закончится в этой другой теме...

Я уверен, что есть способ сделать это без вызова отдельного процесса (многопроцессорная обработка AKA) - я знаю эту опцию. Это тяжелое решение, которое я использую для других более тяжелых задач, но оно требует передачи данных назад / вперед из дочернего процесса безобразными способами.

Итак, что было бы самым простым способом вызвать код в потоке main/UI моего сервера Django?

0 ответов

Другие вопросы по тегам