|
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 77
|
|
Php выполнение скрипта каждую секунду06.10.2015, 20:06. Показов 11535. Ответов 9
Метки нет (Все метки)
Здравствуйте, подскажите пожалуйста, как можно решить задачу:
делаю интернет аукцион и после ставки таймер на завершение лота ставится на 20 секунд (т.е в mysql есть поле с датой окончания), как мне проверять прошли ли эти 20 секунд? + за 3-4 секунды до окончания должны выполняться еше действия сначала хотел через cron, но там минимальный вызов скрипта раз в 2 минуты...
0
|
|
| 06.10.2015, 20:06 | |
|
Ответы с готовыми решениями:
9
Работа скрипта каждую секунду Запуск скрипта каждую секунду (cronjob) Выполнение PHP скрипта |
| 06.10.2015, 20:34 | |
|
Может быть с помощью, вот этого:
jquery.page2page.ru/index.php5/Ajax-запрос javascript.ru/setInterval Создаете циклически ajax запросы на обработчик через каждые 20 сек. Затем в обработчике, на всякий случай, проверяете интервал прошедшего времени что бы оно было где то 20 сек.
0
|
|
|
0 / 0 / 0
Регистрация: 19.08.2014
Сообщений: 77
|
|
| 06.10.2015, 21:18 [ТС] | |
|
Это должно происходить на сервере
0
|
|
| 06.10.2015, 21:39 | ||
|
если серьезно все с деньгами связано, купите себе впс-ку, хотяб за 5 баксов в мес, и используйте либо другие технологии, которые постоянно в памяти находятся (nodejs/python/java/erlang/c++/pascal/rust/что угодно/phpDaemon) либо там сами сможете запилить свой крон с секундомером и завершательницами лотов
0
|
||
|
2 / 2 / 1
Регистрация: 24.05.2015
Сообщений: 24
|
|
| 07.10.2015, 05:00 | |
|
$.post (это jquery) или $.ajax
0
|
|
|
Заблокирован
|
|
| 07.10.2015, 09:31 | |
|
MrMens2, посмотрите Long-Polling, и хотя там запуск процесса будет ajax-ом, но затем сервер будет крутится сам пока не выйдет время или не придет следующая команда от пользователя. вроде то что вам нужно..
Добавлено через 2 минуты еще можно из скрипта через curl отправлять запрос самому себе. тоже буде крутится бесконечно..
1
|
|
|
420 / 357 / 47
Регистрация: 22.05.2013
Сообщений: 2,518
|
|||
| 07.10.2015, 09:58 | |||
|
Когда-то читал что на php можно даже сокет-сервер сделать... Надежность слабая. Скорость явно ниже явы (отзывы тех кто добивался этого). Можешь поискать ту технологию! Там теоретически надо лишь "запустить" сервис. И перезапускать если он дохнет. Перезапускать может любая другая страница (юзер прегрузил/загрузил страницу) или кроном. если не секрет - ЧТО должен делать скрипт через 20 минут после вызова? Может там можно другой логической хитростью "обойти"?
0
|
|||
| 07.10.2015, 13:31 | ||
|
0
|
||
|
Заблокирован
|
|
| 07.10.2015, 13:45 | |
|
0
|
|
| 07.10.2015, 18:27 | ||||||
|
формально, хостеру по-барабану сколько у вас скрипт будет работать. ему главное, чтоб у остальных пользователей ресурсы не отнимались. единственное, что мешает (в плане "чистого" пхп) установить set_time_limit(0) -- это safe_mode. но если он установлен, я бы советовал бежать от таких хостеров, даже если они бесплатные.
ну и да, открою еще один секрет. если поставить sleep(20) под *nix системами они не защитаются за execution time у скрипта (проверял лично). под виндой засчитаются (тоже проверял лично). поэтому спите сколько душе будет угодно. есть еще и usleep, если вам не 20 секунд нужна задержка, а, скажем, 20 миллисекунд. Но! еще раз повторяю, не делайте так! Хотя никто не спросил, почему, отвечу на еще не заданный вопрос: теоретически все возможно, но на практике при реализации вы рано или поздно столкнетесь с рейсами. В пхп хотя и есть некоторые способы их избежать, но их никто не юзает, и они толком не тестировались, в сети вы готовых решений не найдете. Для бизнес-проекта это особенно критично, потому что не учтя их, у вас на сайте один и тот же товар дважды будет продаваться, либо наоборот, улетит в никуда, и вы долго не будете понимать, в чем дело. И это только первая проблема, с которой придется столкнуться. Вторая заключается в блокировке пхп-шных процессов, если их внезапно(!) начнет возникать очень много, внутри системы, и рано или поздно начнут сыпаться 500-ые ошибки (504, 502 или 503я, как правило, в зависимости от веб-сервера, пхп-бекенда и их настроек). Третья -- пхп падок на утечки памяти, если допустите минимальную ошибку в основном цикле, будет все очень грустно. придется вручную запускать GC, а еще лучше -- программировать в стиле си/си++ : unset-ить вручную каждую переменную, которую вы создали. и проверять это все на утечки xdebug-ом, либо опять же, вручную. Далее, по поводу реализации этой затеи, дам вредные советы:
Необходимо также помнить, что, хотя сам пхп не ограничивает время процесса, некоторые хостеры зачем-то (если реально скрипт просто висит и не потребляет ресурсов, то не всегда понятно, зачем) принудительно вырубают все процессы, которые работают дольше какого-то количества времени, и это все опять же усложняет. Вероятно, тут есть вариант со своеобразной "миграцией" процесса каждые 10 секунд. Но нужно учитывать все задержки, там есть проблемы с синхронизацией времени, неизвестно сколько времени займет "миграция" и все такое... Я уже когда-то уже пытался сделать подобное (Выполнение кода в определённое время) , даже вспомнил кучу паролей от своих старых бесплатных акков у разных хостеров, и уперся как раз таки в разные их особенности. У кого-то стоял старый curl, который работал не так, как у других, у кого-то дико маленькие ограничения по памяти или по времени, у кого-то причину частых вылетов процесса так и не удалось установить. Но то все бесплатные хостеры. Платные более демократичные, да и можно с саппортом пообщаться, вероянее всего автору и стоит так сделать, возможно, админ сжалится и подскажет, с помощью чего вы можете добиться такого поведения на своем сайте. В общем, до конца этот "крон" я так и не дописал, потому что понял, что проще платить по 5 баксов в месяц и отказаться от пхп в продакшене для таких задач. Даже для бесплатных проектов, про платные я вообще молчу.
0
|
||||||
| 07.10.2015, 18:27 | |
|
Помогаю со студенческими работами здесь
10
Выполнение скрипта PHP Запуск php скрипта каждую минуту(например) OpenServer 5.2.2 Постоянное выполнение php скрипта Выполнение php скрипта из cmd Отложенное выполнение скрипта PHP Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|