Каждый раз, когда у пользователя не открывается веб-страница, сервер оповещает об ошибке 504. Что это за ошибка, как она влияет на ранжирование сайта и почему она возникает — рассказываем в статье. Ошибка 504 (Gateway Time Out) — HTTP-код состояния, указывающий на то, что сервер не может обработать запрос клиента. Такая ошибка возникает в том случае, если сервер не получает ответа от сервера-посредника за обозначенное время, то есть истекает лимит ожидания. В данном случае сервер пользователя выступает в роли шлюза или прокси, а клиентом выступает браузер...
Что нужно сделать: написать endpoint, который принимает на вход код на Python (строка) и тайм-аут в секундах (положительное число не больше 30). Пользователю возвращается результат работы программы, а если время, отведённое на выполнение кода, истекло, то процесс завершается, после чего отправляется сообщение о том, что исполнение кода не уложилось в данное время. Для выполнения задания рекомендуется использовать метод Popen.communicate. Не забудьте сделать communicate при превышении тайм-аута — процесс мог что-то вывести за время работы...