pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как узнать минимальные требования для собственной игры?

Лучший ответ: через тестирование на разных платформах с разными характеристиками.
Профессия тестировщика в том числе и для этого существует

Худший ответ: Действительно лучший способ определить спецификации - эмпирический на большой выборке разных устройств. Коими, конечно же, одиночные разработчики не обладают. Но это не значит, что сделать тут ничего нельзя.

Вы можете начать со сравнительного анализа. Из предложенных мной способов он самый простой и быстрый. Достаточно отыскать несколько похожих на вашу игр и провести некое винзоризованное среднее значение критического минимума и оптимального максимума. Не обязательно искать именно те игры, что написаны на Unity, но будет больше похоже на правду, если авторами игр будут небольшие студии, или независимые разработчики.

Если вы захотите уточнить вашу гипотезу, можете продолжить ручной проверкой.

1. Место на диске
Просто посмотрите, сколько весит папка с собранной игрой.

2. Количество ОЗУ
Оценить максимум вы можете прямо в диспетчере задач, только проводите оценку не посреди главного меню, а в процессе максимума интенсивности игрового процесса. Также можете создать несколько виртуальных машин на вашем компьютере с разной конфигурацией и по очереди прогнать по ним игру.

3. Видеокарта
Оценить характеристики видео вы можете по загруженности игрой активными объектами и средствами, влияющими на отрисовку - шейдерам, освещению (трассировке лучей, отражениям и т.д.), постпроцессингу и т.д.. Тут зависимость простая - чем больше эффектов, тем круче видеокарта нужна, чтобы каждое обновление экрана всё это дело перерисовывать. Также почитайте про шейдерные модели. Например, та же 4 версия HLSL требует минимум DirectX 10 версии. Также грубо оценить видеокарту вы можете по тому же диспетчеру задач, сравнив значение столбца GPU во время интенсивной игры со значением мощности видеокарты.

4. Процессор
Оценка процессора самая сложная, т.к. в неё постоянно вмешиваются другие процессы. В том же диспетчере задач вы можете посмотреть, как сейчас ведёт себя процессор, плюс можете попробовать занизить его тактовую частоту или выделить игре больше/меньше ядер, чтобы посмотреть как она себя поведёт.

5. Прочее - интернет, звук и т.д.
Если ваша игра требует подключение к интернету, просто напишите "интернет". Если же она содержит механику потокового просмотра видео или стриминг, то также укажите скорость, которую можно замерить любой соответствующей утилитой. Если вы делаете игру для аудиофилов, укажите HiRes Audio. Если нужен контроллер - укажите какой. В остальном требования из разряда "это нужно или нет", а не "что конкретно нужно".

Ну и, напоследок, отзывы.
Люди так устроены, что никогда не начнут писать положительный отзыв, если не почувствуют в этом необходимость, а вот поругать игру выстраиваются целые виртуальные очереди. Вы всегда можете из негативных отзывов узнать, если с игрой что-то критически не так.

Как видите, данный процесс весьма трудоёмкий, а местами требующий специфических знаний. Потому порой проще воспользоваться услугами тестировщиков, или заглянуть на реддит. Например, в r/playmygame или в r/playtesters.
Вопрос: Почему у меня не получается учиться, даже когда я все делаю все в точности как в видеоуроках?

Лучший ответ: Была такая история - про дрессировку приматов. Шимпанзе, если не ошибаюсь.
Так вот, их довольно быстро удалось научить открывать кран, чтобы напиться.
Ничего сложного, на самом деле. Человек показал, зверь собезьянничал, получил воду.
НО! Их так и не удалось научить закрывать кран за собой. Мотивации-то нет.

Вот и у вас так же: чтобы обезьянничать за видосиком, у вас мотивация находится, но это не обучение, это дрессировка.
Зато те полчаса, которые вам пришлось поковыряться самостоятельно и решить проблему - вот это действительно обучение. И "избавляться" от него - самое глупое, что можно сделать в такой ситуации.

Худший ответ: Для начала, стоит принять факт, что, во-первых, видеоуроки делают некоторое время, но при этом языки программирования и среды разработки продолжают развиваться, и даже только что выпущенные уроки могут устареть. Могут отличаться и настройки среды разработки, интерпретатора, компилятора и т.п. 

Второе - многие примеры из уроков содержат ошибки - иногда случайные, а иногда и преднамеренные. Например, во многих книгах по программирвоанию намеренно допускали опечатки в листингах программ, чтобы заставлять обучающихся думать и искать эти ошибки.

Если что-то не получилось по видеоуроку, надо попытаться понять, почему. Обратиться к официальной документации, поискать ошибку на stackoverflow (обычно там есть все ответы), можно и здесь спросить, с конкретным примером. Главное не сдаваться.
Вопрос: Как выбирать последующие записи в SQL?

Лучший ответ: Помимо описанных в других ответах LIMIT и OFFSET есть еще такая вещь как курсор.
Курсор позволяет читать строки по одной, но требует открытого соединения с СУБД.
На самом деле большинство СУБД в ответ на запрос возвращают именно курсор, просто функции из библиотеки, которая работает с СУБД, вычитывают курсор до конца, если смысл таких функций вернуть массив строк из результата запроса.
Курсор штука ленивая, то есть поиск следующей строки СУБД будет делать только в тот момент, когда у нее попросят следующую строку для курсора.
В случае если у нас есть постоянный коннект к СУБД, вариант запросить сразу все и потом дергать курсор понемногу будет работать быстрее чем множество запросов с LIMIT, так как СУБД будет лишь единожды анализировать запрос, подбирать подходящие для него индексы и т.д.

То есть в Вашем случае нужно сначала понять, можно ли гарантированно поддерживать коннект к СУБД между ивентами.
Если да, то отправляете в СУБД запрос и получаете курсор перед подпиской на ивент, а в хендлере самого ивента уже дергаете курсор по 5 раз.
Если нет, то на каждый ивент отправляете запрос с LIMIT и OFFSET.

Худший ответ: счетчиком

select * where id > твоего счетчика limit 5

счетчик писать отдельно / держать в куках и т.п.
Вопрос: Как извлечь парные теги с помощью регулярных выражений?

Лучший ответ: лучше бы вам в голову пришло не пользоваться для этого регулярками, а нормальными инструментами: DOM и xpath.

Худший ответ: На исходной строке твоя регуляра дает неправильный результат - выхватывает 
<span aria-hidden="true" class="line-numbers-rows"><span></span>
, а match.group(1) будет при этом равен <span>.
Произвольно вложенные теги ты не обработаешь регексом при всём желании.

Ну и помимо этого есть всякие маленькие приятности с открывающим/закрывающим тегом - он может оказаться внутри комментария, внутри значения атрибута, в CDATA, в теге script, и т.д. Эти мелочи можно закрыть регексом (очень большим регексом). А вот вложенные теги - нет.
Вопрос: Возможно ли отследить скачиваемое мной через мессенджеры, облачные хранилища?

Лучший ответ: нет
там же SSL протокол

торренты палят по протоколу только, юзай сидбоксы

Худший ответ: Через SSL провайдер может спалить лишь домен, но никак не остальную часть url. Разве что провайдер как-то сумеет скооперироваться с владельцем облака, но это крайне маловероятно на данный момент.

Так что при скачивании с гугла провайдер увидит "drive.google.com", но не точный адрес. Сам факт скачивания с облака будет известен. Аналогично домены телеграма и т.д.

Ещё есть такая штука, как VPN. Тема сложная, но там обычно заворачивается весь трафик, то есть можно будет спокойно качать торренты. Риски примерно те же: владелец VPN возможно сам сдаст провайдеру всю инфу о торрентах.

P.S. К слову, обычные торренты палят все, кому не лень. Вот известный сайтик, чтобы проверить себя (или кого-то другого):
https://iknowwhatyoudownload.com/ru/peer/
Вопрос: Бывает ли дружба между двумя сетями на 1 ПК?

Лучший ответ: Скорее всего, у вас прописаны стандартные маршруты. Если адреса нет в текущей сети, то компьютер посылает запрос в интернет. Это называется маршрутом по умолчанию. Так вот в вашем случает корпоративный адрес находится вовсе не в интернете, поэтому запрос выходит, грубо говоря, в другую дверь. 

Надо настроить маршрут до корпоративной сети через корпоративный интерфейс(адрес, карту, сеть) . 

Худший ответ: В корпоративной сети есть, видимо, несколько подсетей, кроме той, в которой находится адрес интерфейса из этой сети. Для того, чтобы имелся доступ к узлам этих подсетей, должны существовать соответствующие маршруты через правильный адрес шлюза.

Однако, судя описанию, обе сетевые карты настроены на автоматическое получение адреса. И соответствующие DHCP-серверы не рвутся правильно анонсировать маршруты, а просто анонсируют шлюз по умолчанию.

Соответственно для нормальной работы нужно (при условии, что обе карты адресуются по DHCP): 

1. Настроить метрики интерфейсов, поставить интерфейсу в корпоративной сети более высокую метрику (бОльшее значение метрики соответствует более низкому приоритету интерфейса, и соответственно его маршрутов).

2. Выяснить адреса узлов в корп. сети, к которым тебе нужен доступ. Если доступ осуществляется по IP - то всё просто, адреса уже есть. Если же по именам, то следует отключить второй интерфейс, а потом получить соответствия имён адресам (да хоть тупым пингом) и внести эти соответствия в файл HOSTS. Ну и молиться, что эти нужные адреса - не динамические. Получив адреса (а ещё лучше - узнав у админа их подсети), прописать статические маршруты в эти подсети либо к этим адресам через анонсируемый в корпоративной сети шлюз. После чего - на карте в корп. сеть установить статические адреса DNS-серверов, и удалить из списка все серверы.

3. По-хорошему - написать скрипт, который при старте системы выключает интерфейс в корп. сеть, а затем его снова включает. Эта операция (совместно с установкой метрик) гарантирует, что будет использоваться маршрут по умолчанию именно на интернетовском интерфейсе.

Впрочем, это всё будет работать только в случае, если в корп. сети не производятся какие-то перестройки (изменения адресации). Если что-то изменится, скорее всего придётся корректировать и свои локальные настройки.
Вопрос: Каков шанс того, что память заведётся на адекватных таймингах и вольтаже?

Лучший ответ: никакого,
всё зависит от данного экземпляра,
т.е. если у дяди Васи работает такая же с разгоном, не факт что и у вас заработает

Худший ответ: "Все украдено до нас." - закон жизни.
Очевидный факт - Более быстрая память стоит дороже!
На заводе изготовителе (естественно) ВСЕ чипы проверяют и сортируют. 
Поэтому если они указали какие то значения то 100% разогнать можно ТОЛЬКО в ущерб стабильности работы.

Цена - лучший индикатор быстроты памяти.

Все дискуссии по поводу разгона базируются на романтическом предположении что мощный любитель быстрых герц сидя дома точно знает как правильно все включить и обмануть этих глупых производителей чипов.
Вопрос: Как переместить информацию в другой диск?

Лучший ответ: Утилита Acronis Disk Director, записанная на флешку и загружаемая вне системы.
Вариант А. Расширение раздела C, хотя бы до 200 Гбайт.
1. Применить операцию resize на раздел D со сдвигом начала раздела в сторону конца диска - при пустом разделе займет минимум времени, при заполненном - может до пары часов.
2. Применить операцию resize на раздел C со сдвигом конца раздела в сторону конца диска - при любой заполненности выполняется не более пары минут.

Вариант Б. Удаляем раздел D, заполняем все пространство разделом C.
1. Удаляем раздел D. Можно даже из "Управления дисками"  из windows сделать.
2. Применить операцию resize на раздел C со сдвигом конца раздела в сторону конца диска - при любой заполненности выполняется не более пары минут.

Худший ответ: создайте на Д папки с документами и перенесите всё туда
отправьте ярлык на рабочий стол и сохраняйте в эту папку файлы 
перестаньте складировать файлы на рабочий стол = это диск С по умолчанию
перенесите папку Загрузки на Д и измените путь созранения в браузере.
Вопрос: Как отправлять данные в телеграмм на php?

Лучший ответ: Я использую:
$token = "YOUR_BOT's_TOKEN";

$data = [
    'text' => 'your message here',
    'chat_id' => 'the_chat_id_here'
];

file_get_contents("https://api.telegram.org/bot$token/sendMessage?" . http_build_query($data) );

Худший ответ: Телеграмм клиент
Вопрос: Почему не работает контактная форма (код php и html)?

Лучший ответ: Ну как минимум у вас в html и php имена полей формы не совпадают

Худший ответ: Я наверное в лыжи обутый, но где в этой форме указывается адрес обработчика (файл php)?
Обычно это прописывают примерно так
Вопрос: Как перенести VDS сервер Ubuntu на другой хостинг?

Лучший ответ: Самый простой способ это подсмотреть точный дистрибутив, как я понял это Ubuntu 16.04, нужно задеплоить на новом VPS точно такой же сервер с Ubuntu 16.04, и затем с помощью команды rsync, вроде такой:

sudo rsync -aAXvP — exclude={/boot/,/dev/,/etc/fstab,/etc/modprobe*,/etc/modules/,/lost+found/,/etc/mtab,/etc/network*,/etc/sysconfig/ip*,/etc/sysconfig/kernel,/etc/sysconfig/network*,/lib/modules/,/media/,/mnt/,/proc/,/run/,/sys/,/tmp/,/var/lib/lxcfs/,/var/lock/}  root@mysite.ru:/ /
я бы попробовал это сделать например на любой системе виртуализации у себя дома, на работе, потом на хостовой машинке подменить hosts файл и проверить что всё работает (за одно этот образ машины можно потом будет сохранить как бэкап) и если всё ок - покупать новую VPS и повторить.

PS
В целом можно потом на той же машине на которую скопировался сайт попробовать обновить дистрибутив до 22.04 и уже на новую впс если всё взлетит (нужно проверить весь функционал), уже ставить систему с поддержкой, т.к. 16.04 закончилась в августе 2021.

Худший ответ: Какая панель управления VDS? Если в ней нет возможности самому сделать образ текущего диска, тогда можно попросить хостера, чтобы сделал образ и выдал его.
Вопрос: Можно ли организовать DNS через порты на одном ip?

Лучший ответ: Нет. Через Nginx Proxy это делается.

Худший ответ: DNS - это база данных, которая увязывает имя и IP в прямом и обратном направлении. И больше ничего она не умеет. Ну еще соотнести имя с неким комментарием (как в SPF/DKIM делается)
Вопрос: Фундаментальная информатика и информационные технологии, что с ними можно делать?

Лучший ответ: По сетям либо Ланит либо Циско. По архитектуре вот прямо не встречал. Специализация больше по кафедрам. В общем смотрите учебный план. Ещё прошустрите направления военной связи там и сети и схемотехника и низкий уровень.

Худший ответ: Что стоит за названием того или иного направления - зависит исключительно от вуза. Одинаковая на бумаге программа, может в корне отличаться даже в пределах одного вуза.
Какие перспективы?
Зависит на 99% от тебя. Можно поступить в мфти и пролюбить 4 года. А можно закончить местный техникум и быть востребованным разработчиком. Но если фигачить - то лучше в топовом вузе чем в шараге.
 На каком направлении нужно учиться, чтобы работать на уровне микроархитектуры, работать с физическими устройствами?
Первое что приходит в голову - это вычислительная техника. Из
"Фундаментальная информатика и информационные технологии".
по идее тоже можно вынести много хорошего.
а вот
"Программной инженерии" и "Прикладной информатики"
маловероятно что будут иметь отношение к железу.
Можно ли переучиться с одного на другое
Можно, но время/энергозатратно. Проще сразу учить то что хочется.
работать только с прикладным уровнем (вэб, мобильная разработка)? 
работать на уровне микроархитектуры, работать с физическими устройствами
Ты уж определись. Поступать в вуз, незная чего хочешь - максимально хреновая идея.
Где изучаются сетевые технологии в качестве основного направления?
Большую часть времени за книгой. Желательно в тишине и с кружкой любимого напитка.
как при этом подтверждать свои знания
Непонятно что ты имеешь в виду. Выполненными задачами например.
Вопрос: Защита от уязвимости нулевого дня?

Лучший ответ: Защититься от уязвимостей нулевого дня можно только полным аудитом исходного кода и формальным доказательством, что в нём этой уязвимости нет.

Для любой сколько-нибудь большой программы стоимость подобного аудита почти всегда будет превосходить потенциальный риск от потенциальной уязвимости.

Худший ответ: В этом суть названия уязвимости  0-day — вы не защищены от того, что еще не узнал никто и не выявил.
На защиту и предупреждение от нее  у вас (и у всех) было 0 дней

что программу которую я использую абсолютно безопасная
Каждая программа безопасна с определенной долей после тщательной проверки, если в ней нет 0-day уязвимостей
Вопрос: Lorem Ipsum можно использовать в портфолио дизайнера сайтов?

Лучший ответ: Lorem это латинский текст. Если сайт для русскоязычной категории можно взять Яндекс Рефераты. Там тоже текст бессмысленный, но на русском языке и выглядит как настоящий. Можно выбрать тему.

Заголовки можно придумать тематические.

Худший ответ: На крайняк хотя бы русский рыбо-текст https://fish-text.ru/

Но лучше примерно реальный контент.

Потому что начинающие дизайнеры думают, что текст это что-то неважное. Но текст — этот тот контент, ради которого всё и затевается. Потому с ним и надо учиться работать, подавать и оформлять)
Вопрос: Как перенести загрузчик с HDD на SSD диска С?

Лучший ответ: EasyBCD или что-то подобное.
Ну и есть родные майкрософтовские консольные утилиты, но с ними сложнее разобраться.

Худший ответ: # Действительно перенесет загрузчик и все нужные файлы для загрузки системы на системный диск 
bcdboot c:\windows /s C: /l ru-ru /f ALL

(Подставить свои буквы)
так попробуйте. прям из под винды. или с winPE 
у вас диски в MBR? доп разделов под загрузчик не вижу. видимо все на ед. разделе.
Вопрос: Как инвертировать сигнал транзистора для реле?

Лучший ответ: Ваша схема датчика воды (и любая другая похожая) слишком сложна для такой элементарной задачи. Если вы решили просто потренироваться в изготовлении и наладке простейших схем на транзисторах и реле, тогда да, она годится. Но если вам надо решить техническую задачу автоматического поддержания уровня воды в баке, то нет ничего проще (всего один элемент, если не считать мерного стаканчика в баке), надёжнее (сотни миллионов работающих экземпляров в мире), безопаснее (полностью разнесены вода, электричество и человек) и гигиеничнее, чем использовать датчик с автоматической стиралки - прессостат:

Контакты прессостата - переключательные (т.е. могут как замыкаться, так и размыкаться), выдерживают напряжение 220 вольт и ток до 16 ампер. 
я не собираюсь ничего покупать, и использовать микросхемы тоже не собираюсьТам нет ни единой микросхемы, и покупать эту штуку не надо - лично я добываю эти датчики со старых сломанных стиралок, выброшенных на помойку.

Мерный стакан изготавливается из любой пластиковой бутылочки, у неё отрезается дно, а в горловину герметично вставляется тонкий шланг, ведущий к прессостату. Затем он крепится внутрь бака на такой высоте, до которой должен доходить уровень воды. Принцип простой: вода по мере подъёма уровня сжимает воздух внутри стакана, это давление через шланг передаётся на мембрану прессостата и давит на контакты.
Не требуется никаких реле (самый ненадёжный элемент!), источников питания 5 вольт, транзисторов, и никакой наладки схемы - всё работает сразу.

Худший ответ: Можно было даже легче решить всё это.
У реле есть два вывода NC и NO, один отвечает за состояние, когда оно открыто, а второй когда закрыто.
Поэтому я решил сделать обычный датчик воды, но подключить насос так -- когда вода есть, датчик открывает реле, но нагрузка стоит на NO, поэтому насос не работает.
Когда воду не видит -- датчик закрывает реле, и включается насос.

Что касается инвертора, я его сделал, но не знаю как подключить к датчику, что обидно. Несмотря на то, что задание решено, всё же хотелось бы разобраться с инвертором.
Дело в том, что реле подключено с коллектора датчика на минус (как видно из схемы), и плюс идёт напрямую к питанию.
Если подать выход коллектора на инвертор, он не будет работать должным образом, а если подать плюс на базу инвертора, тогда выйдет что коллектор замкнётся с плюсом (как видно из схемы, на резистор, который идёт к коллектору, нужно подключать плюс, но и на базу тоже нужно подавать плюс).

Если кто-то разберётся в писанине, и подскажет как будет лучше (думаю может через диод как-то можно реализовать это дело), буду благодарен.
Вопрос: Какие права регулируют доступ к оснастке AD?

Лучший ответ: Кто вам сказал что "Выносить оснастку за контроллер домена не получится" ?
google rsat
не надо кому попало давать права  на DC заходить

Худший ответ: Добрый день. Смотрите в сторону делегирования полномочий. Должно решить Вашу задачу
Вопрос: Sendmail — насколько повышается уязвимость сервера?

Лучший ответ: Времена не изменились. И раньше и сейчас неправильно настроенные и не обновляемые сервисы доступны для взлома.
Если у вас нет сервера, который слушает внешний порт - взлом не грозит.

Худший ответ: А зачем Sendmail? Используйте sSMTP, минимальная утилита для отправки сообщений. В нем и команда sendmail поддерживается.
Вопрос: Как увеличить место на диске после резервного копирования?

Лучший ответ: Какой смысл копировать диск на раздел? Там получился винегрет. Надо определиться с задачей. Если нужен образ диска использовать какой-нибудь partclone, если клонировать, то с диска на диск. Partclone не сохраняет пустое место и образ будет меньше.

Худший ответ: клонируем диск:
dd if=/dev/sda of=/dev/nvme0n1 bs=100M conv=fsync oflag=direct status=progress
где размер /dev/sda меньше или равно размеру диска(не раздела) /dev/nvme0n1

смотрите какие разделы у вас на диске nvme0n1
lsblk /dev/nvme0n1
допустим у вас там два раздела nvme0n1p1 и nvme0n1p2
и нужно расширить последний nvme0n1p2, то есть второй

максимально увеличим последний(2) раздел в таблице разделов
echo ", +" | sudo sfdisk /dev/nvme0n1 -N 2
-N 2 здесь это второй раздел

после чего на всякий случай перечитаем таблицу разделов данного диска:
blockdev --rereadpt /dev/nvme0n1
и проверим файловую систему nvme0n1p2 (перед увеличением)
e2fsck -f /dev/nvme0n1p2
теперь увеличиваем непосредственно размер самой файловой системы второго раздела:
resize2fs /dev/nvme0n1p2
и на последок еще раз проверяем:
e2fsck -f /dev/nvme0n1p2

п.с.
если у вас GPT разметка диска то еще не помешает продублировать запись таблицы разделов с начала диска в конец
sfdisk --relocate gpt-bak-std /dev/nvme0n1
Вопрос: Как научится верстать красивую адаптивную вёрстку?

Лучший ответ: не каждый способен быть дизайнером
многие неспособны

если то что ты делаешь ужасно и ты это понимаешь то скорей всего у тебя нет художественно-дизайнерского оформительского таланта

выход - тупо копировать готовые стили

Худший ответ: Для начала стоит почитать любые книги по дизайну, работе с цветом, формой. Есть и специализированные с уклоном именно в веб.
Вопрос: В чём отличие хука useMemo от useCallback в React?

Лучший ответ: Отличий два
1) useCallback(func, deps) - ни что иное как useMemo(() => func, deps)
То есть useCallback возвращает функцию, а useMemo выполняет функцию и возвращает результат (в обоих случаях - при условии что депсы поменялись).
2) про useMemo в документации есть предостережение, что Реакт не гарантирует сохранность результата и может вычислить ещё раз, даже при неизменных депсах. Про useCallback такого не сказано.

Худший ответ: Оба хука нужны для того, чтобы при передаче возвращаемых ими данных в качестве пропсов в компонент-потомок, этот компонент-потомок не совершал лишние перерендеры.
То есть хук useCallback при одинаковых зависимостях создаст ссылку на функцию один раз. При передаче в компонент-потомок, этот компонент-потомок проверит что ссылка не поменялась и не будет делать лишний ререндер.
Хук useMemo нужен для того же, но если useCallback возвращает функцию, то useMemo возвращает какие-то данные. И как писали ранее, useMemo не гарантирует, что ссылка на данные не изменится даже при одинаковых зависимостях.
Вопрос: В чем ошибка применения функции sleep()?

Лучший ответ: 1. такие задачи нужно выполнять через консоль, а не вэб. 
2. sleep тут вообще ни к месту.

Худший ответ: Вы получаете ошибку, потому как nginx не дождался ответа от php, который ожидает ответ от mysql, который лопатит ваш не хилый запрос на получение. 
Разбивайте на части, управляйте этим в коде. Как уже указано, запускайте php не через nginx, а в cli. Записывайте не построчно, а тоже блоками. 150 000 это много, попробуйте блоки по 1000, а может и меньше. 
Откуда взялся sleep? Если это троттлинг, то 30 секунд как то очень много.