сегодня я превзошел сам себя
из всех максимально тупых случаев в программировании сегодня выдался особенный
на подработке активно выводим новое приложение на дев-контур
все в лучших традициях стартапа — накатываем данные, тут же ловим ошибки, тут же правим — и все по-новой
но на контуре ты никак не подебажишь импорт, а мне очень надо было
выход простой — локально подрубаемся к дев-базе и стартуем импорт
мы можем дебажить спокойно, а результат все равно окажется на деве — все довольны
и все бы хорошо, но внезапно перезапуск импорта через интерфейс стал отваливаться с ошибками мол файл не найден
да как не найден-то? я его вот своими глазами вижу — ls показывает, что файл есть, через less я прекрасно вижу содержимое
самое интересное, что заходим в логи супервизора, который гоняет джобы по импорту и не видим логов!
а еще лучше — на самом деле иногда-то логи видим, но там как получится
а еще лучше — в интерфейсе почему-то в обработке висит два импорта, хотя инстанс супервизора у нас один
а еще лучше — в ошибках импорта (в базе отдельная колонка) текст из кода, который час назад уже выпилен был
то есть кто-то помимо дев-контура берет джобы в работу и плюется ошибками
я прошел все стадии гнева и агонии — от полного покрытия логами куска кода, который открывает файл до полной переработки конфига супервизора
еще круче стало, когда я отказался от супервизора в пользу крона (ну вдруг супервизор сошел с ума)
вырубаешь таску в кроне, смотришь ps aux — глухо, ни одного запущенного процесса в кроне
а джобы все равно обрабатываются и валятся с ошибкой!
и знаете какой ответ у этого всего?
этот кто-то — я, но локальный и у которого коннект к базе на деве, а очередь джоб как раз лежит в табличке)
🙄
Добавить комментарий