У меня большой проект, который выполняется на сервере приложений. Он выполняет конвейерную обработку больших пакетов данных и отлично работает на одной системе Linux (старая производственная среда) и одной системе Windows (моя среда разработки).
Однако мы модернизируем нашу инфраструктуру и переходим на новую систему Linux для производства, основанную на том же образе, который используется для существующей производственной системы (мы используем AWS). Версия Python (2.7) и библиотеки должны быть идентичными, поэтому мы проверяем это самостоятельно, также используя хэши файлов.
Наша проблема в том, что, когда мы пытаемся начать обработку на новом сервере, мы получаем очень странный вывод, записанный в стандартный вывод с последующим зависанием сервера: «Удаление дескриптора: [некоторое число]». Я не могу продублировать это на компьютере разработчика.
Кто-нибудь когда-нибудь сталкивался с подобным поведением в python? Помимо модулей в стандартной библиотеке python мы также используем eventlet и beautifulsoup. В стандартной библиотеке мы опираемся на urllib2, re, cElementTree и многопроцессорность (в основном на пулы).