Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Java |
![]() ![]() |
Топик располагается на нескольких страницах: 1 2 3 4 5 [все] |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Есть задача. Нужно делать скрин сайта при его добавлении в систему. Это можно делать при добавлении сайта, но это занимает время и не хочется заставлять клиента все это время ждать. Появилась мысль делать это отложенно, то бишь при добавлении сайта создается таска на создание скрина. И через время какой-то механизм выполняет эту таску. Как лучше такое реализовать и есть ли уже готовые инструменты для такого? |
10 янв 19, 13:03 [21781507] Ответить | Цитировать Сообщить модератору |
Leonid Kudryavtsev Member Откуда: Сообщений: 7396 |
Шедулер Windows или Linux. |
10 янв 19, 13:08 [21781517] Ответить | Цитировать Сообщить модератору |
Leonid Kudryavtsev Member Откуда: Сообщений: 7396 |
|
||
10 янв 19, 13:10 [21781520] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Leonid Kudryavtsev, Мне надо запускать Java код. Он будет открывать браузер и делать скрин сайта. Без GUI. И после писать данные о файле в бд. |
10 янв 19, 13:19 [21781540] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Да, я не уточнил. Мне надо запускать Java код. Он будет открывать браузер и делать скрин сайта. Без GUI (phantomjs). И после писать данные о файле в бд. P.S. других средств сделать скрин без гуи не находил. может кто знает что-то другое подскажите. |
10 янв 19, 13:20 [21781547] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
|
||
10 янв 19, 13:29 [21781566] Ответить | Цитировать Сообщить модератору |
вадя Member Откуда: Екатеринбург Сообщений: 15195 |
Tsyklop, скрин экрана или скрин окна браузера? со всеми панелями меню и прочими индивидуальностями пользователя? |
10 янв 19, 13:33 [21781570] Ответить | Цитировать Сообщить модератору |
Озверин Member Откуда: Ростов-на-Дону Сообщений: 4785 |
сайт же должен загрузиться |
||||
10 янв 19, 13:35 [21781576] Ответить | Цитировать Сообщить модератору |
Озверин Member Откуда: Ростов-на-Дону Сообщений: 4785 |
Tsyklop, раз вы юзаете фантом, то и делайте им сайт превью: https://www.codediesel.com/javascript/taking-website-screenshots-using-phantomjs/ |
10 янв 19, 13:38 [21781581] Ответить | Цитировать Сообщить модератору |
Андрей Панфилов Member Откуда: Москва > Melbourne Сообщений: 3019 |
![]() |
||
10 янв 19, 13:47 [21781597] Ответить | Цитировать Сообщить модератору |
mayton Member Откуда: loopback Сообщений: 38815 |
Тебе принципиално решать эту задачу на Java? |
||
10 янв 19, 13:48 [21781599] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Да. Примерно 1 сек. при добавлении в систему. Долго? |
||||
10 янв 19, 13:52 [21781608] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Есть разные сайты. С разной скоростью загрузки. А если проблемы с инетом и т.д. |
||
10 янв 19, 13:53 [21781613] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Если есть другие варианты из которых я могу таске дать ссылку на сайт и id сайта из бд и что бы потом этот вариант смог записать в бд данные о файле и привязать к сайту, то окей. |
||
10 янв 19, 13:55 [21781614] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Скрин сайта. Открывается сайт в браузере и делается скрин именно сайта, без панелек и прочего. чисто сайт. |
||
10 янв 19, 13:55 [21781616] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
у меня скрин экрана занимал примерно секунд 10-15, а то и до 30 доходило. Дело ж еще в том что сам драйвер нужно запустить. |
||
10 янв 19, 13:56 [21781618] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Ну так так и делается, только из джава кода. |
||
10 янв 19, 13:57 [21781621] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
какой внутренний ресурс? к примеру. |
||||
10 янв 19, 13:58 [21781626] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Tsyklop, Не пойму. Как юзверь работает если его сайт грузится 20 сек? Это конструктор сайтов? |
10 янв 19, 14:09 [21781641] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
|
||||
10 янв 19, 14:11 [21781646] Ответить | Цитировать Сообщить модератору |
Андрей Панфилов Member Откуда: Москва > Melbourne Сообщений: 3019 |
|
||
10 янв 19, 14:13 [21781653] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Нет. просто человек добавляет сайт в мою систему(предполагается что это владелец сайта). И если у него его же сайт грузит долго тот тут уже ничего не сделаешь. |
||
10 янв 19, 14:24 [21781669] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
в моем случае таких ссылок нет. Ибо приложение не микросервисное (на данный момент). Как вариант можно запретить вводить айпишники, что бы залочить возможность стучатся в локальной сетке. |
||||
10 янв 19, 14:26 [21781675] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Tsyklop, Добавь ajax'ом и пусть продолжает играть крестики нолики. Кто кого ждет? |
10 янв 19, 14:27 [21781677] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Это и так будет происходить ajax-ом. Но пока запрос выполнится пройдет время. Доберусь домой засеку время (но на данный момент только локально на ПК. На рабочем сервере может быть дольше.) |
||
10 янв 19, 14:30 [21781679] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Tsyklop, Контейнер сам создаст поток. Ферштеен? |
10 янв 19, 14:46 [21781689] Ответить | Цитировать Сообщить модератору |
Озверин Member Откуда: Ростов-на-Дону Сообщений: 4785 |
Tsyklop, тогда я проблему не понял. Проблема в том, чтобы запустить отдельный поток? Или запустить js код из java? Или работать с phatomjs из явы? |
10 янв 19, 14:57 [21781702] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Озверин, Он забыл асинхронность веб по умолчанию. Без всякого кода. Только и всего. |
10 янв 19, 15:07 [21781719] Ответить | Цитировать Сообщить модератору |
Leonid Kudryavtsev Member Откуда: Сообщений: 7396 |
про Web в исходном сообщении ничего не было |
10 янв 19, 15:09 [21781720] Ответить | Цитировать Сообщить модератору |
Leonid Kudryavtsev Member Откуда: Сообщений: 7396 |
Если Spring, то гугля вполне находит шедулер от спринга (спрингом не пользуюсь, умею только гуглеть, ничего о шедулере спринга сказать не могу) http://ru.lmgtfy.com/?q=spring scheduler https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/scheduling.html |
10 янв 19, 15:11 [21781724] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Тоже думал в его сторону. Но тут вариант такой что есть таска которая выполняется каждые 5 минут, допустим. Выгребает все сайты с бд где нет фото и делает их. Но лучше наверно помещать в отдельную таблицу таску. |
||
10 янв 19, 15:48 [21781795] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Как это лучше делать. Или же запустить поток или же делегировать это дело кому-то другому. и т.д. Как работать с фантомом я знаю и умею. (И да я знаю про потоки в вебе) |
||
10 янв 19, 15:49 [21781796] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
не забыл как бы. |
||
10 янв 19, 15:50 [21781798] Ответить | Цитировать Сообщить модератору |
Leonid Kudryavtsev Member Откуда: Сообщений: 7396 |
При чем тут таблица? Если я правильно понял доку от спринга, объявили метод @Async и не паритесь. Все остальная работа по контролю Job'ов, должна лежать на том, кто их будет выполнять (пул потоков и прочее) |
||||
10 янв 19, 15:54 [21781807] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Leonid Kudryavtsev, А спринг не веб что ли? |
10 янв 19, 16:08 [21781824] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Tsyklop, Делать фото надо там где бизнес логика. Т. Е. Добавляем сайт. А не оставляем на потом... Кто нибудь.... Разгребает это Г. |
10 янв 19, 16:10 [21781828] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
окей, окей. уговорили. Спасибо. |
||
10 янв 19, 16:41 [21781911] Ответить | Цитировать Сообщить модератору |
Озверин Member Откуда: Ростов-на-Дону Сообщений: 4785 |
так в итоге - это микросервисы или десктоп ? |
||||
10 янв 19, 16:42 [21781914] Ответить | Цитировать Сообщить модератору |
s62 Member Откуда: Жуковский Сообщений: 874 |
Tsyklop, на всякий случай, task с английского переводится на русский "задача", "задание", на украинский "задача", "завдання". |
10 янв 19, 16:44 [21781918] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
микросервисы. |
||||
10 янв 19, 16:52 [21781933] Ответить | Цитировать Сообщить модератору |
Leonid Kudryavtsev Member Откуда: Сообщений: 7396 |
тут еще терминалогическая путаница task vs thread - в контексте многозадачности и ОС task a la job - в контексте scheduler'ов |
10 янв 19, 16:52 [21781934] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
да ладно? я и не знал, слушайте. укр нах.... |
||
10 янв 19, 16:53 [21781935] Ответить | Цитировать Сообщить модератору |
Озверин Member Откуда: Ростов-на-Дону Сообщений: 4785 |
есть 2 пути - сложный и простой. Простой заключается в том, чтобы дергать уже чей-то сервис. Предположим, такой: http://www.page2images.com/Create-website-screenshot-online-API (там вроде 100 запросов в день?) Этот сервис по rest api вернет превью для заданного сайта. Сложный заключается в написании своего микросервиса(мы ж микросервисы?) и дергании его. Учитывая, что вы знаете фантомджс, я бы этот сервис поднял на node.js и всю магию бы делал там, ну и потом бы за него дергал. Если второй путь подходит, но не подходит всякие node.js, и нужен именно java-way, то берем в руки что-нибудь вроде phatom wrapper`а и дергаем за фантом из этой либы в java уже. Теперь к тому, что задача должна перебирать сайты без превью и делать эти превью. Все это решается довольно быстро: над методом, который должен раз в н времени что-то делать вешается аннотация: @Scheduled(cron = "а-тут-крон-выражение") и в любом классе конфигурации(это там, где @Configuration) должна быть аннотация: @EnableScheduling |
||||
10 янв 19, 17:05 [21781947] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Мда... Классика приделывания микросервисов ко всему, что ни попадя) Вместо function setMyFoto(url) ; Забабахаем микросервисы, API, оркестровку и шину. |
10 янв 19, 17:28 [21781984] Ответить | Цитировать Сообщить модератору |
cossack5 Member Откуда: Сообщений: 413 |
В том же спринге есть @Async. Судя по первому посту ТС, это то что нужно. |
10 янв 19, 17:34 [21781995] Ответить | Цитировать Сообщить модератору |
забыл ник Member Откуда: Сообщений: 2601 |
Молодцы мужики, разобрались всего-то за 2 страницы. |
10 янв 19, 17:40 [21782008] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Petro123, Я провел тесты. Страница stackowerflow у меня грузиться око минуты в phantomjs. это никуда не годится. Вообще. |
28 янв 19, 10:52 [21795568] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
"Страница грузится" это ответ домохозяек. На что конкретно уходит время? |
||
28 янв 19, 10:58 [21795570] Ответить | Цитировать Сообщить модератору |
lleming Member Откуда: Сообщений: 1527 |
Казалось бы причем здесь java. Во вторых никто не знал бы что существует stackoverflow если бы он грузился минуту. Банально терпения у людей не хватало бы ждать по минуте. А по факту, что означает грузится около минуты от начала загрузки до чего ? window.onready event или phantomjs заканчивает с exit(0) ? Так страницу сейчас можно вечно грузить с учетом websocket. Из опыта если на сайте навешен какой то сторонний api для теж же яндекс карт или что особенно актуально сторонний assistant вот он может грузиться с минуту. Т.е. сам сайт в 300мс грузится и затем около 30-35с этот асистант подгружается через ajax. Можно еще полистать настройки Phantomjs max parallel connection чтото такое (есть у всех браузеров, и есть подозрение что у phantomjs по умолчанию тоже что и chrome) |
||
28 янв 19, 12:09 [21795643] Ответить | Цитировать Сообщить модератору |
lleming Member Откуда: Сообщений: 1527 |
ну и еще вопрос по поводу времени загрузки от чего начало считается? Входит туда время необходимое для самого старта phantomjs ? |
28 янв 19, 12:11 [21795647] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
lleming, +1 автор путается в показаниях. |
28 янв 19, 12:17 [21795654] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Видать на подгрузку скриптов. я ж не вижу браузер. Я поставил дебагер после driver.get(url). И он туда попал только после минуты загрузки страницы. Что он загружает сайт я вижу в логах - он пишет какой сайт начал загружать. |
||
28 янв 19, 14:56 [21795911] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
У меня вот так вот. Бывает что у меня в хроме он долго загружается. Я предполагаю из-за скриптов которые не доступны (К примеру яндекс метрика. Яндекс в украине заблочен). Грузится долго до document.readyState === complete. |
||
28 янв 19, 14:58 [21795916] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
от того как я на фронте нажал кнопку отправить. Входит, но сам phantomjs инициализируется быстро. |
||
28 янв 19, 15:00 [21795918] Ответить | Цитировать Сообщить модератору |
lleming Member Откуда: Сообщений: 1527 |
Яндекс метрики на стаковерфлоу нет но он очень много грузит с cdn и причем действительно не быстро. Сама страница в пределах 2,5s, затем всякая хрень с cdn около 8с и затем остатки до 15с. (но я позади прокси, так абсол. значения сильно меньше) Но сейчас ромкомзнайкто усилил борьбу с тебеграммом а крупные сайты всегда юзают всякие cdn. Это как вариант. С этим можно побороться уменьшив connection timeout , и read timeout уменьшить. Подобрать экспериментально или делать перезапрос если ошибки полезли с увеличенным timeout. |
28 янв 19, 15:18 [21795933] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Давай я в двадцатый раз спрошу: "нажми f12 и напиши конкретно что тормозит до минуты загрузки.". А потом подымай данную тему. Не знаю, зачем её сегодня подняли. |
||
28 янв 19, 15:57 [21795976] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Petro123, да какая в ж***у разница что там долго грзится, если я не смогу на это повлиять? смысл это делать? как я это сделаю если ГУИ НЕТ?!!! ептить. Могли бы не заходить если не понимаете зачем подняли. То же мне спец... |
28 янв 19, 16:05 [21795989] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Хм. вариант, но чет мне кажется усложнено все. перезапросы... отслеживать это все. Мне просто проще создать что ли задачу, в планировщике. Тогда добавление будет быстрым, а картинка появится позже. Я такое видел на разных сервисах. |
||
28 янв 19, 16:07 [21795994] Ответить | Цитировать Сообщить модератору |
Герой дня Member Откуда: obmanula.ru Сообщений: 30503 |
ты что такой агрессивный? тут форум высокой культуры |
||
28 янв 19, 16:25 [21796017] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Tsyklop, Скока у тебя Г. полилось после того как ты написал: "... сайт грузится минуту и мне по барабану почему". Бизнес логика такая у юзверя когда он сайт добавляет.
С памятью проблема? 1. AJAX 2. Как юзверь без ГУИ добавляет сайт? 3. Настройки либы по таймауту. .. Бездельник блин. |
||
28 янв 19, 16:28 [21796019] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Герой дня, Он из джуна в профи экстерном а отдыхать не научился. |
28 янв 19, 16:30 [21796023] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Человек задолбал одним и тем же. + еще ко всему тем что не поможет. |
||
28 янв 19, 16:44 [21796041] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Откуда знаешь? м? ты меня лично не знаешь... как ты можешь такое говорить? |
||
28 янв 19, 16:44 [21796044] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
1. что AJAX? не пойму. Если вопрос про использование, то конечно он используется. 2. Не юзвер без ГУИ, а сервак без ГУИ делат скрин сайта. Клиент вводит url своего сайта и нажимает на кнопку "сохранить". Сервак принимает урл и делает скрин по переданному урлу, предварительно сделав проверки. 3. Уже пробовал. И сколько мне ставить, 3 секунды? что бы запрос не был слишком долгим. Допустим поставлю timeout 30 секунд. Зачем мне не до конца загруженный сайт? |
||
28 янв 19, 16:48 [21796048] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Tsyklop, Ну, у меня получше память твоей. Ты даже свой топик не помнишь. Выше я говорил что скрин обычно делают ам где бизнес логика. Ты согласился. А сегодня выдал ахинею свой пост про минуту загрузки. Это разве отменило совет про БЛ? Нет. Просто ты пофлудил и ничего не узнал. |
28 янв 19, 16:49 [21796050] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Значит ГУИ есть. Я же о кнопке на клиенте говорю блин! Дальше по ajax ушла команда на скрин. Зачем потоки? |
||
28 янв 19, 16:51 [21796055] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Я согласился, и пошел тестить как это будет работать. Потестил и вот вернулся. |
||
28 янв 19, 16:54 [21796059] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
После того как сайт был добавлен, делать запрос на бэк что бы он сделал скрин? |
||||
28 янв 19, 16:55 [21796060] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Домохозяйка так тестирует. Что грузится минуту? Реклама? Счетчики гугла? Хреновый код? 404? |
||
28 янв 19, 16:56 [21796063] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
|
||
28 янв 19, 16:57 [21796064] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Технически, imho скрины не имеют проблем в выполнении. А вот по БЛ некоторые хотят дожидаться загрузки всей рекламы сайта и баннеров. Тогда ждем... Другие наоборот не хотят. Тогда не ждем. Есть миллион разных случаев юз кейса: "нажал кнопку Добавить сайт". Делай как угодно, только глупости не пиши. Удачи! |
||
28 янв 19, 17:07 [21796072] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
та то понятно. Задачи для планировщика имел в виду. При добавлении ставить сайту картинку что-то вроде "Картинка скоро появится...". Ну и когда планировщиу сделает скрин, уже будет скрин, а не та картинка. |
||||
28 янв 19, 17:08 [21796075] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
На AJAX без него будет точно так же. Ответь словом "Да" и иди гуляй и делай как хочешь. Хоть на JOBах в бд. |
||
28 янв 19, 17:18 [21796090] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Не тоже самое. Планировщик не будет блочить юзера. |
||||
28 янв 19, 17:39 [21796108] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
|
||
28 янв 19, 17:53 [21796120] Ответить | Цитировать Сообщить модератору |
Герой дня Member Откуда: obmanula.ru Сообщений: 30503 |
30 секунд - это много сделай очереди через Spring Cloud Stream если больше 30 секунд - клади обратно в очередь задание (ID строки из БД с параметрами задания - типа, урл, пользователь и тп) скриншоты делай отдельным приложением с внутренностями SWT браузера, который чисто качает урл, выполняет JS, делает скриншот и сохраняет куда надо |
||||
28 янв 19, 18:21 [21796154] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
После добавления сайта сервак вернет клиенту инфу о том что сайт успешно добавлен. ВО время добавления будет создана задача для планировщика и все. Ответ клиенту ушел - он дальше серфит по сайту и не ждет пока сделается скрин (При чем на разных сайтах может быть разное кол-во времени загрузки. У меня phantomjs google.com.ua грузит за считанные секунды, а вот stackowerflow я ждал около минуты что бы весь процесс добавления сайта, от клика на кнопку сохранить, до ответа клиенту пройдет). В то время как клиента серфит по сайту дальше, планировщик срабатывает, видит что есть задача на скрин. Он ее делает (При этом не мешая клиенту серфить) и обновляет скрин у сайта в бд. И потом когда клиент обновит список сайтов будет уже не заглушка, а нормальный скрин. |
||||
28 янв 19, 18:24 [21796158] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
на счет SWT браузера можно подробнее, пожалуйста? может ссылочка есть. |
||
28 янв 19, 18:25 [21796159] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Герой дня, там обязательно ГУИ? мне без гуи надо. |
28 янв 19, 18:26 [21796160] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
А при команде на сервлет по AJAX нельзя серфить? Напиши что будет не так. |
||
28 янв 19, 19:30 [21796195] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
AJAX буква A. это не надо ждать)))) |
||
28 янв 19, 19:33 [21796198] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Tsyklop, Может у тебя POST был? Я на первой станице спрашивал, знаешь ли ты принципы веб? |
28 янв 19, 19:35 [21796199] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
HTTP: запрос - ответ. AJAX средство что бы сделать запрос не замораживая при этом UI. HTTP работает как запрос - ответ. а не запрос - ... Если уже такая история то зачем HTTP? |
||
28 янв 19, 20:03 [21796215] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Знаю, не сомневайся. POST конечно. Не GET же и тем более не PUT. |
||
28 янв 19, 20:04 [21796216] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Ну например когда делался скрин что-то пошло не так. Запрос закончился. че дальше? как скрин сделать? у человека не будет скрина сайта? + ко всему если мы игнорим ответ то клиент не узнает о том что скрин не удался... |
||
28 янв 19, 20:06 [21796218] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Где тут разговор об ошибках? Кончай съезжать с темы что нельза заниматься серфингом. В ГУИ пишешь что задание ушло на сервер и далее все одинаково. Так? |
||||
28 янв 19, 20:52 [21796256] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Где я съехал с темы? Был вопрос "Напиши что будет не так." - я ответил. Давай еще раз. Клиент вводит url своего сайта. Нажимает кнопку добавить. Запрос с урлом ушел на бэк. Сайт добавился. Клиенту вывело сообщение что сайт добавлен. На фоне этого я делаю запрос (с фронта) на бэк что бы тот сделал скрин сайта, ну и передаю урл. При этом клиент дальше продолжает серфить на сайте. Он не знает что сейчас на серваке делается скрин. В идеальном случае все ок, скрин успешно создался, в бд записался и юзер увидит его. Так ты видишь воркфлоу? |
||
28 янв 19, 20:59 [21796260] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
|
||
28 янв 19, 20:59 [21796261] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
|
||
28 янв 19, 21:01 [21796268] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
|
||
28 янв 19, 21:03 [21796270] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
- запрос всего один, и Перед отправкой в ГУИ написать что ушло задание. - больше ничего не делать и никаких task manager |
||
28 янв 19, 21:06 [21796272] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Остался вопрос, зачем выше, ты что то там ждал минуту. И кто тебя заставил ждать. |
28 янв 19, 21:08 [21796275] Ответить | Цитировать Сообщить модератору |
mayton Member Откуда: loopback Сообщений: 38815 |
Вместо скрина сохраняется плейсхолдер с крестиком. Типа что-то пошло не так. Крестик - кликабельный. Типа обновить. Клиент кликает и создает еще раз задание на отрисовку титула. |
||||
28 янв 19, 21:53 [21796302] Ответить | Цитировать Сообщить модератору |
Герой дня Member Откуда: obmanula.ru Сообщений: 30503 |
там не нужно гуи, в том-то и дело |
||
28 янв 19, 23:30 [21796368] Ответить | Цитировать Сообщить модератору |
Герой дня Member Откуда: obmanula.ru Сообщений: 30503 |
Второй ответ: https://stackoverflow.com/questions/13111424/having-the-swt-browser-render-its-output-to-an-image |
28 янв 19, 23:35 [21796369] Ответить | Цитировать Сообщить модератору |
mayton Member Откуда: loopback Сообщений: 38815 |
Вот может пригодится. https://electronjs.org/docs/tutorial/offscreen-rendering |
28 янв 19, 23:52 [21796375] Ответить | Цитировать Сообщить модератору |
lleming Member Откуда: Сообщений: 1527 |
вроде как swt Html renderer это компонент который просто используется движок установленного браузера(причем на каждой ОС свой, ie на винде пострадает) для рендера на своем канвасе, и для этого нужно чтобы x11 стоял обязательно. phantomjs вроде рендерит во framebuffer и не требует x11 поэтому предпрочтительнее на сервере (помимом того чтотам движок хромовский более менее свежий и .... внезапно можно не только скрины в png но и в pdf делать) хотя могу ошибаться (давно этим уже не занимался) |
||
29 янв 19, 10:20 [21796534] Ответить | Цитировать Сообщить модератору |
Андрей Панфилов Member Откуда: Москва > Melbourne Сообщений: 3019 |
Какой же беспровсетный п##дец в этом треде. 1. Tsyklop, лазить из сервера в недоверенные источники - западло, можешь рассказывать что угодно, что там твоя поделка в DMZ, AWS, еще хрен знает где - все равно западло 2. все что ты хочешь реализуется в пару строк кода: все, конец истории. |
29 янв 19, 10:40 [21796561] Ответить | Цитировать Сообщить модератору |
mayton Member Откуда: loopback Сообщений: 38815 |
Я предлагаю закрыть топик. Беря во внимание практически полное отсутсвие реакции. Тема исчерпана. |
29 янв 19, 10:43 [21796566] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
mayton, какой такой реакции? |
29 янв 19, 11:02 [21796583] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Ну вот и я думал сделать @Scheduled, но вон людям больше нравится еще один запрос кидать... я ж то не против. |
||
29 янв 19, 11:03 [21796585] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Вместо скрина сохраняется плейсхолдер с крестиком. Типа что-то пошло не так. Крестик - кликабельный. Типа обновить. Клиент кликает и создает еще раз задание на отрисовку титула.[/quot] Мне кажется, или это усложнение довольно простой задачи. |
||
29 янв 19, 11:04 [21796586] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Ждал пока сделается скрин сайта и добавится сайт в бд.. |
||
29 янв 19, 11:05 [21796587] Ответить | Цитировать Сообщить модератору |
mayton Member Откуда: loopback Сообщений: 38815 |
Тебе дают ссылки. От тебя нет реакции. Не подходит? Почему? |
||
29 янв 19, 11:10 [21796589] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Ты уж разберись с юз кейсами)) |
||||
29 янв 19, 11:12 [21796592] Ответить | Цитировать Сообщить модератору |
Petro123 Member Откуда: Загрузочный сектор Москвы (AutoPOI.ru) Сообщений: 36520 |
Давно можно сделать оба варианта. А не спорить страницами что лучше. |
||
29 янв 19, 11:15 [21796594] Ответить | Цитировать Сообщить модератору |
Tsyklop Member Откуда: Украина Сообщений: 816 |
Закрыто. |
29 янв 19, 11:17 [21796598] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: 1 2 3 4 5 [все] |
Все форумы / Java | ![]() |