HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 16.02.2009, 10:50
Byrger
Постоянный
Регистрация: 07.03.2008
Сообщений: 479
Провел на форуме:
791766

Репутация: 61
По умолчанию

народ, подскажите плиз ответ на мой пост который на предыдущей странице, я уже как только не пробовал...и аякс и слип...но надо асинхронность и независимость выполнения запроса сделать
 
Ответить с цитированием

  #2  
Старый 16.02.2009, 12:35
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 1304


По умолчанию

Byrger Вам уже все сказали. Set_time_limit и ignore_user_abort + sleep + аякс оьращающийся на этот скрипт. Фразы "все перепробовал" без примеров кода - это значит напишите за меня а я попользую? Никто за вас ничего делать не будет. Напишите что вы делали мы вас подправим.
 
Ответить с цитированием

  #3  
Старый 16.02.2009, 11:42
kik8888
Познающий
Регистрация: 29.02.2008
Сообщений: 45
Провел на форуме:
162965

Репутация: 6
По умолчанию

Цитата:
Сообщение от Byrger  
Как выполнить пхп сценарий с задержкой и чтоб всё было асинхронно . Ну допустим запрос в БД через 60сек и чтоб пользователь мог дальше работать с сайтом или мог спокойно выйти с него... А запрос выполнился
Первое, что пришло в голову:
1) При запуске скрипта(отображающего сайт, и устанавливающего задержку на выполнение задания) в какой-либо файл(специально отведенный для этого) записывавем какое-либо значение, обозначающее, что нужно будет запустить mysql запрос и какой именно запрос + дополнительные необходимые параметры.
Каждое задание пишем в отдельной строке файла, так легче анализировать, разделяем \r\n
2) Создаем скрипт, который будет проверять этот файл и при наличии строчек(заданий), будет выполнять нужные задания в нужное время(обозначенное в задании), после выполнения задания, скрипт стирает строчку выполненного задания.
3) Ставим этот скрипт на крон на каждую минуту выполнение.
PS:
а) если время задержки выполнения не слишком строгое и его можно подстроить под проверку кроном каждую минуту, то этот вариант вполне подходит.
б) не забудь правильно настроить блокировку файла при записи и чтении из него заданий, а то можешь получить в файле кашу.
 
Ответить с цитированием

  #4  
Старый 16.02.2009, 12:40
Zedi
Постоянный
Регистрация: 06.06.2007
Сообщений: 335
Провел на форуме:
1487377

Репутация: 392
Отправить сообщение для Zedi с помощью ICQ
По умолчанию

Самый легкий способ это предложенный kik8888, и в крон ставить не обязательно, можно эту проверку засунуть в начало твоего скрипта
 
Ответить с цитированием

  #5  
Старый 16.02.2009, 13:14
kik8888
Познающий
Регистрация: 29.02.2008
Сообщений: 45
Провел на форуме:
162965

Репутация: 6
По умолчанию

Цитата:
Сообщение от Zedi  
Самый легкий способ это предложенный kik8888, и в крон ставить не обязательно, можно эту проверку засунуть в начало твоего скрипта
Можно, но тогда нужна большая посещаемость у сайта, чтобы эту проверку частенько запускали.
Самый надежный вариант сделать и в кроне, и в начале всех скриптов сайта(например проинклудить в хедере(я надеюсь, что все шапку выносят в отдельный файл))
Но также не нужно забывать про оптимизацию и делать все для минимума использования ресурсов.
 
Ответить с цитированием

  #6  
Старый 16.02.2009, 13:53
Zedi
Постоянный
Регистрация: 06.06.2007
Сообщений: 335
Провел на форуме:
1487377

Репутация: 392
Отправить сообщение для Zedi с помощью ICQ
По умолчанию

Крон тут вообще не нужен, при первом попавшемся заходе выполнятся все запросы, никто и не увидит что он выполнился сейчас а не 10 минут назад
 
Ответить с цитированием

  #7  
Старый 16.02.2009, 14:06
Byrger
Постоянный
Регистрация: 07.03.2008
Сообщений: 479
Провел на форуме:
791766

Репутация: 61
По умолчанию

Аякс не пойдёт так-как нужна 100% уверенности что все пользователи смогут запустить таймер, а что у всех яваСкрипт был включен.... Крон не пойдёт-большая нагрузка если запускать каждую секунду (нужна точность) а чтоб в код скрипт проверки поместить тоже не дело-большая нагрузка если много народу и у каждого про выполнении любого сценария на сайте будет проверятся таймер и наоборот- если мало народу то не будет точности таймера
 
Ответить с цитированием

  #8  
Старый 16.02.2009, 14:40
Zedi
Постоянный
Регистрация: 06.06.2007
Сообщений: 335
Провел на форуме:
1487377

Репутация: 392
Отправить сообщение для Zedi с помощью ICQ
По умолчанию

Точность будет, если нормально скрипт написать, все продумать(при помещении в скрипт проверки) базу использовать и все быстро будет, никакой нагрузки
 
Ответить с цитированием

  #9  
Старый 16.02.2009, 15:25
Byrger
Постоянный
Регистрация: 07.03.2008
Сообщений: 479
Провел на форуме:
791766

Репутация: 61
По умолчанию

Цитата:
Сообщение от Zedi  
Точность будет, если нормально скрипт написать, все продумать(при помещении в скрипт проверки) базу использовать и все быстро будет, никакой нагрузки
нет меня видимо опять не понимают, мне нужна точность. И мне нужен таймер по истечению которого выполнится задача, а не проверка на то есть или нет задач. Если каждый раз проверать по 10+ таблиц в бд но то есть или нет не выпОлненые задания а если там сотни заданий... нет это никак не выход из ситуации. У меня есть идея но Как сделать чтоб при нажатии кнопки выполнялся пхп сценарий и после того как сценариз закончился, он отправляет заПрос другому сценарию (как браузер). сорри за корявость текста, я с телефона
 
Ответить с цитированием

  #10  
Старый 16.02.2009, 16:08
kik8888
Познающий
Регистрация: 29.02.2008
Сообщений: 45
Провел на форуме:
162965

Репутация: 6
По умолчанию

Сделай форму с кнопкой. Кнопка запустит скрипт, а в конце скрипта сделай запрос через сокеты(если это не должен видеть пользователь) или header("location: ....");(если нужно чтобы пользователь увидел результат этого запроса).
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ