Как да се стартира скрипт без препълване на стека браузър на Руски
Добре дошли! Не мога да разбера как да се стартира скрипт, когато приключва с обратно броене. Кажи ми, моля те.
Обяснявам по-подробно. Купувача заплаща на поръчката. По времето, когато редът се добавя определено време (например 5 минути) и броенето започва от тази точка. Ако продавачът не изпрати поръчката в този момент, тя започва да скърца и реда отменена. Отговорът не е задължително, просто трябва да се изпълнява тази връзка с $ _GET параметри. Script работа е вписано в базата данни. Сценарият се изпълнява само веднъж и след това да промените статуса на поръчката и скриптът не се изпълнява.
Моля, покажете ми един пример за това как да използвате EXEC, Опитах се - не работи.
настроен 24 Август '14 в 08:55
Е, ако GET - означава, се използва от браузъра. И ако това е необходимо, без браузър, можете да сте на страница EXEC да се използва? Изпълнете командата във фонов режим с желания параметър - и сте готови. Въпреки че, ако опишете проблема, би било ясно какво искате. Можете, на страницата, която искате да се показва в резултат на отбора? Тогава защо таймера? Оставете да извършите операцията след известно време? Е, първата заявка - таймера започва и клиентът показва обратното броене. Както обратното броене приключи - втора заявка, а ако времето е изтекъл на сървъра - изпълнява това, което ви трябва. - BOPOH 24 Август '14 в 09:07
Пример стартиране скрипт, например, с помощта на EXEC и argv:
Почти същото може да се направи чрез всяко брокер съобщение като ActiveMQ. Примери за използване могат да бъдат намерени тук.
След това, ако на опашката изпращане е загубила делото, тя ще бъде възможно да се информира потребителя за това. Слушатели (т.е. постоянно течаща скриптове) могат да бъдат разпределени в няколко сървъра (ако има много потребители на сайта).
Activemq предлага разнообразие от инструменти за наблюдение опашката на съобщенията (например, чрез уеб-базиран интерфейс, можете да получите статистика конзола означава, ако настройват по следния начин).
Ето само. Тези методи (ако се прави чрез сън) за обратно броене изискват, че те бяха започнати. Съответно, ако има 100 заявки, той ще затвори 100 скриптове. И ти трябва?
Може би просто трябва да се съхраняват в база на поръчки, указващи часа на поръчката и управляван от Cron скрипт на всяка минута, която премахва необработен за известно време поръчки? После някакъв ред може да бъде 59 секунди по-дълго, отколкото е необходимо, но аз не мисля, че ще бъде от решаващо значение, нали?
Ако времето е от решаващо значение, а след това ще бъде във фонов режим постоянно се превърне сценария, че всеки втори премахва остарели база данни (след отстраняване на грим сън (1), а не да се вземат всички ресурси).
Послепис EXEC и смачкат доведе само да покаже как можете да се обадите друг скрипт от страницата.