PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (2): [1] 2 »

> Найдено сообщений: 19
Nyam Отправлено: 13 Февраля, 2018 - 05:05:27 • Тема: Запуск скрипта через exec без зависания браузера • Форум: Вопросы новичков

Ответов: 13
Просмотров: 1029
LIME пишет:
Nyam пишет:

Проверил, оказалось что не работает, по прежнему браузер блочится.

вот это новость
Nyam пишет:
Больше нету идей как можно решить проблему ? (
асинхронная обработка
мелкого слушай
вот что тебе непонятно?
хочешь и рыбку сьесть и рыбку сьесть?


Нет, хочу рыбку есть и компотом запивать.
При обращении к скрипту через exec а перед этим прописания хедера, по прежнему отвисает страница в браузере только после завершения выполнения скрипта, прописанного в exec.
Nyam Отправлено: 11 Февраля, 2018 - 20:44:26 • Тема: Запуск скрипта через exec без зависания браузера • Форум: Вопросы новичков

Ответов: 13
Просмотров: 1029
Больше нету идей как можно решить проблему ? (
Nyam Отправлено: 10 Февраля, 2018 - 14:34:31 • Тема: Запуск скрипта через exec без зависания браузера • Форум: Вопросы новичков

Ответов: 13
Просмотров: 1029
Sail пишет:
Nyam пишет:
Как я понимаю header("location...") будет выполняться только уже после exec и в итоге ничего не изменится?

Наоборот.


Проверил, оказалось что не работает, по прежнему браузер блочится.
Nyam Отправлено: 05 Февраля, 2018 - 22:05:55 • Тема: Запуск скрипта через exec без зависания браузера • Форум: Вопросы новичков

Ответов: 13
Просмотров: 1029
Sail пишет:
Nyam пишет:
Как я понимаю header("location...") будет выполняться только уже после exec и в итоге ничего не изменится?

Наоборот.


Спасибо большое!
Nyam Отправлено: 04 Февраля, 2018 - 15:05:16 • Тема: Запуск скрипта через exec без зависания браузера • Форум: Вопросы новичков

Ответов: 13
Просмотров: 1029
Sail пишет:
Nyam, например, можно инициировать выполнение той самой функции через ajax-запрос от клиента.
Или отправить клиенту (браузеру) header("location...") и спокойно продолжать дальше выполнение скрипта (той самой функции).


Как я понимаю header("location...") будет выполняться только уже после exec и в итоге ничего не изменится?
(Добавление)
LIME пишет:
Sail пишет:
Nyam, например, можно инициировать выполнение той самой функции через ajax-запрос от клиента.
Мелкий пишет:
Такой подход нормально переживает пики активности вместо DoS всего сервиса.
это замечание к тс относится
всеже асинхронная обработка имеет свои плюсы
но есть и минусы
как говорится нет очереди нет проблем


Нагрузка на сервер не будет, так как если уже данный скрипт запущен, другие пользователи не могут его запускать, пока не выполнится предыдущий.
Nyam Отправлено: 02 Февраля, 2018 - 20:05:39 • Тема: Запуск скрипта через exec без зависания браузера • Форум: Вопросы новичков

Ответов: 13
Просмотров: 1029
Мелкий пишет:
С веба кладёте задачу в очередь pgq, gearman, rabbitmq или чего ещё больше нравится.
Кроном или написанным демоном вычитываете задачу, выполняете, затем хватаете следующую и выполняете

Такой подход нормально переживает пики активности вместо DoS всего сервиса.


А возможно сделать без крона ?
Nyam Отправлено: 02 Февраля, 2018 - 16:13:51 • Тема: Запуск скрипта через exec без зависания браузера • Форум: Вопросы новичков

Ответов: 13
Просмотров: 1029
Здравствуйте, столкнулся с небольшой проблемой при запуске функции, которая должна выполняться в фоне после определенного действия пользователя. Так как по завершению функции от неё не нужны никакие данные и тд., хотелось бы чтобы пользователь во время выполнения функции мог без проблем пользоваться сайтом. Фоновый запуск функции реализовал через exec('/usr/bin/php test.php &'); но при этом браузер по прежнему ждет завершения функции и не дает пользователю нормально использовать сайт.

Прошу вас подсказать как сделать выполнение полностью в фоне для пользователя.

Заранее всем спасибо.
Nyam Отправлено: 06 Марта, 2016 - 00:57:25 • Тема: CURL авторизация стим • Форум: Работа с сетью

Ответов: 5
Просмотров: 2166
Viper пишет:
Nyam пишет:
так как он спрашивается 1 раз для нового ip
а также для нового оборудования, а также для свежей установки steam client.


Интересует авторизация только на сайте, клиент не нужен.
Nyam Отправлено: 05 Марта, 2016 - 15:29:46 • Тема: CURL авторизация стим • Форум: Работа с сетью

Ответов: 5
Просмотров: 2166
freelsd пишет:
Nyam, цель данной авторизации - сделать заготовку для чекера. Если есть доступ к почте по imap, например то можно это все автоматизировать, например: http://php.net/manual/ru/book.imap.php


Я могу и руками ввести данный пасс, так как он спрашивается 1 раз для нового ip. Но вот вопрос как реализовать подобную авторизацию на пхп.
Nyam Отправлено: 04 Марта, 2016 - 05:05:23 • Тема: CURL авторизация стим • Форум: Работа с сетью

Ответов: 5
Просмотров: 2166
Здравствуйте! Столкнулся с проблемой авторизации в стиме (https://steamcommunity.com/login/home/) . Собственно сделал:
PHP:
скопировать код в буфер обмена
  1.  
  2.         function post_content ($url,$postdata) {
  3.         $uagent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";
  4.  
  5.         $ch = curl_init( $url );
  6.         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  7.         curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
  8.         curl_setopt($ch, CURLOPT_URL, $url);
  9.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  10.         curl_setopt($ch, CURLOPT_HEADER, 0);
  11.         curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  12.         curl_setopt($ch, CURLOPT_ENCODING, "");
  13.         curl_setopt($ch, CURLOPT_USERAGENT, $uagent); // useragent
  14.         curl_setopt($ch, CURLOPT_TIMEOUT, 120);
  15.         curl_setopt($ch, CURLOPT_POST, 1);
  16.         curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
  17.         curl_setopt($ch, CURLOPT_COOKIEJAR, "./coo.txt");
  18.         curl_setopt($ch, CURLOPT_COOKIEFILE,"./coo.txt");
  19.  
  20.         $content = curl_exec( $ch );
  21.         $err = curl_errno( $ch );
  22.         $errmsg = curl_error( $ch );
  23.         $header = curl_getinfo( $ch );
  24.         curl_close( $ch );
  25.  
  26.         $header['errno'] = $err;
  27.         $header['errmsg'] = $errmsg;
  28.         $header['content'] = $content;
  29.         return $header;
  30.         }
  31.        
  32.         $url = 'https://steamcommunity.com/login/home/';
  33.        
  34.         $postdata = 'mode=logon&username=юзер&password=пасс';
  35.  
  36.         $result = post_content( $url, $postdata );
  37.         $html = $result['content'];
  38.         echo $html;
  39.  

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

Цель данной авторизации проверить по трейд урлу пользователя, есть ли у него мобильная аутентификация (Escrow) или нету в аккаунте стима.

С уважением.
Nyam Отправлено: 12 Октября, 2014 - 23:18:44 • Тема: Выполнение PHP скрипта для нескольких пользователей • Форум: Вопросы новичков

Ответов: 10
Просмотров: 457
Dastor пишет:
Nyam, так try/catch пробовали?
Под вашу задачу как раз подходит. Если в try получили ошибку, то выполнение передается в блок catch.
Далее цикл продолжит выполняться.
В catch можно, например, добавить
Цитата:
а пользователю с ошибкой в бд писал что у него что то не правильно.


Спасибо, буду пробовать ваш вариант.
(Добавление)
3d_killer пишет:
Nyam пишет:
При том, что как только скрипт где то застопорился он не продолжает работать с другими пользователями.

ну правильно, вот там где много всего не сделана обработка исключений, не видя "много всего" тут тебе никто не поможет, экстрасенсов нет Недовольство, огорчение


Вопрос заключался не в том как выявлять в чем случилась ошибка, а возможно ли сделать, что если при выполнении настроек n юзера что-то пошло не так то не остановиться, а срезу перейти к работе с настройками юзера n+1!
Nyam Отправлено: 12 Октября, 2014 - 21:42:34 • Тема: Выполнение PHP скрипта для нескольких пользователей • Форум: Вопросы новичков

Ответов: 10
Просмотров: 457
3d_killer пишет:
при чем тут остальные пользователи??? скрипт вы сказали стартует крон, ошибка в скрипте!
тут->
PHP:
скопировать код в буфер обмена
  1.  
  2. {
  3. куча всего, что нужно делать с каждым пользователем
  4. }
  5.  

При том, что как только скрипт где то застопорился он не продолжает работать с другими пользователями.
Nyam Отправлено: 12 Октября, 2014 - 18:55:56 • Тема: Выполнение PHP скрипта для нескольких пользователей • Форум: Вопросы новичков

Ответов: 10
Просмотров: 457
3d_killer пишет:
сервер пишет логи access.log вот там посмотри на что он ругнулся и остановился
скорее всего как сказал kotyara1979 ошибка где то там


Проблема не в том что я не знаю где искать и править в дальнейшем ошибки, а чтобы ошибка одного пользователя не затрагивала остальных.
Nyam Отправлено: 12 Октября, 2014 - 10:07:47 • Тема: Выполнение PHP скрипта для нескольких пользователей • Форум: Вопросы новичков

Ответов: 10
Просмотров: 457
kotyara1979 пишет:
Цитата:
куча всего, что нужно делать с каждым пользователем


Есть подозрение, что как раз здесь и кроется собственно проблема.


Задам вопрос немного по другому. Есть скрипт который работает по настройкам пользователя в бд и запускается через крон. Скрипт запускается и переходит к пользователю 1 в настройках пользователя 1 указано всё верно, что нужно что-то сделать по api с сайтом A. Скрипт всё сделал. Переходит к пользователю 2, у него указано так же в настройках всё верно и ему нужно сделать что-то по api с сайтом B, который в данный момент сломался (к примеру просто по запросу не выдел нужный ответ или время получения ответа превысило норму ли миллион других случаев) и скрипт выдал ошибку и к пользователю 3 в итоге он не дошел. Как избежать того что он даже не начал работать с пользователям 3?
Nyam Отправлено: 12 Октября, 2014 - 08:06:56 • Тема: Выполнение PHP скрипта для нескольких пользователей • Форум: Вопросы новичков

Ответов: 10
Просмотров: 457
Здравствуйте!
У меня имеется скрипт, который запускается по крону каждые 2 минуты, проходит по всей базе пользователей и в зависимости от изменений их настроек выполняет некие действия.

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

Сейчас скрипт проходит всех пользователей и всё работает только в том случае если ошибок нету, как только появляется ошибка на каком то пользователе, скрипт просто работает до него, и не работает с оставшимися пользователями.

Сам скрипт сделан по такой структуре:
PHP:
скопировать код в буфер обмена
  1.  
  2. $strSQL = mysql_query("SELECT * FROM `users`");
  3. while($row = mysql_fetch_array($strSQL)) {
  4. куча всего, что нужно делать с каждым пользователем
  5. }
  6.  


Прошу вашей помощи в решении данной проблемы.

Страниц (2): [1] 2 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB