approximate solution, я не про это, а например про то, что может ли Ростелеком подсунуть устаревшее оборудование? Навязать какие-нибудь хитрые услуги от которых потом просто так не откажешься или еще какие-нибудь фишки о которых следовало бы знать?
Владимир Дубровин, оказывается в Firefox есть API, которого нет в Chrome. Называется proxy.onRequest и позволяет любой произвольный запрос направить через любой произвольный прокси. Если интересно, в ответах к своему вопросу набросал готовое решение для использования этого API.
Раньше можно было спокойно заюзать GKSU или KDESUDO для запуска файлового менеджера из по рута, только в последние годы все эти возможности перекрыли, мол не безопасно. Только кому не безопасно? Разрабы охерели вообще)
Сергей Хлопов, пока не попробуйте, не узнайте. Да и если окажется вдруг, что виджет не стартует при ленивой загрузке, всегда можно его запихнуть в iframe с абсолютным позиционированием. Правда решение это так себе, я сам бы попробовал выцепить фрагменты кода отвечающие за старт и вручную их вызывать, когда надо.
TopkaLife, вам нужно обратится на фрилансим, никто эти ребусы тут забесплатно разгадывать точно не будет. Насчет же подсказать, как самому раскодировать - тут просто надо знать JavaScript, чтобы по кусочкам собрать исходный код. Ну и много-много терпения.
DevMan, я не незнание отстаивают, например про то, что существуют потоковые парсеры JSON я не знал и в будущем буду их использовать. Я отстаиваю прежде всего удобство. В один клик воткнуть плагин на сайт и также в один клик начать импорт - это удобно, не надо конечному пользователю объяснять про консоль и крон, все будет работать сразу-сходу, только кнопку нажми.
DevMan, очень даже возможно. Если бы мне дали дрыщевый хостинг, который едва тянет сайт, я бы все равно смог загрузить туда файл любого объема, банально пересылая и собирая его по кускам. Ладно, не вижу смысла спорить. Как бы вы не убеждали меня, но внести инициатор импорта на фронт - хорошо. Если кто-то заказывает у меня граббер для сайта, всегда так делаю и буду делать.
DevMan, хорошо. Возьмём ситуацию, когда некий плагин установленный на неком php-движке и на неизвестном хостинге хочет что-то импортировать в БД. Каким образом это плагин сможет создать задачу в кроне на неизвестном хостинге, при этом не заебывая пользователя, что бы тот вручную добавил задачу? Так как хостинг неизвестный, у нас время выполнения скриптов может быть ограничено и скорее-всего ограничено хостером. И не факт, что есть доступ к консоли.
DevMan, фронт нужен для удобства использования, как вы не понимайте. Если вот это решение по импорту оформлять в виде модуля к какому-нибудь CMS, то запуск через консоль или крон неприемлема.
DevMan, воу-воу полегче. Я же признал выше, что фронт грузить парсингом не обязательно. Фронт просто будет инициировать периодический запуск php-скрипта, который по кускам парсит json с сервера и раскладывает по таблицам в БД.
DevMan, страница грузится сразу, а далее там банально крутится индикатор прогресса импорта. Или вы про то, что другие пользователи не смогут использовать в это время сайтом? Так это ни чем не отличается от запуска в консоли или через крон - ресурсы на хостинг-аккаунте одинаковые и мотают счетчик процессорного времени одинаково, не важно как ты запускаешь скрипт. Доп. нагрузкой создаваемой пост-запросами каждые 30 сек. можно пренебречь, это просто мизер для любого хостинга.
P. S. Крон не везде есть, как и консоль. Например у бегет есть бесплатной php-хостинг, только там нет крона и доступа к консоли.
DevMan, да, в этом плане ваш вариант лучше, но мой вариант будет работать на любом php-хостинге. Наверное имеет смысл объединить потоковый парсер на сервере и его циклический запуск с фронта. Это если делать не для себя, а для всех, чтобы остальным было удобно запускать и видеть при этом прогресс импорта. Если чисто для себя, то тогда уже плевать, можно просто через консоль.
DevMan, ну тогда это фактически тоже самое получается, просто потоковый парсер мы запускаем через консоль, а мой вариант через браузер - в обеих случаях обработка будет постепенная, разница лишь в способе запуска.
DevMan, если браузер и/или сервер зависнет, то потом когда юзер повторно зайдет, то импорт продолжится с того же места, где все прервалось (если логику правильную сделать, ведь мы кусками все импортируем). Аналогично и с отвалом сети.