У меня есть веб-приложение в PHP и Javascript, где я хочу применить генерацию вопросов по времени. У меня есть предустановленный код, который будет выполнен в определенное время, которое сгенерирует вопрос.
Теперь я думаю, что как я могу применить это. Вот некоторые сведения о сети
Теперь я могу использовать объект SetTimeOut и Javascript Date для достижения желаемой функциональности: здесь
function checkVotingQuestionTime()
{
var currentTime = new Date();
if(currentTime.getHours() >= 16 && currentTime.getHours() < 23)//check the time from user OS
{
checkVoteQuestionGenerated();
}
}
function checkVoteQuestionGenerated(){
//query to php check question exists
//if no
//then generate question
}
И зарегистрируйте его на событии готовности документа на главной странице (после входа в систему). Этот код будет открыт для всех пользователей.
$jq(document).ready(function() {
setInterval(checkVotingQuestionTime, 60000);
}
Как представляется, это не выполнимый код, потому что
Итак, как я могу контролировать вышеуказанные ограничения или есть ли другое подходящее решение?
Наличие 100 клиентов опроса сервера каждые несколько минут не имеет большого значения. Каждый раз, когда они открывают страницу на вашем веб-сайте, которая фактически производит опрос сервера. Поэтому перенос проверки даты на php на стороне сервера является лучшим решением для того, что вы в настоящее время настроили.
Если вам не нравится идея опроса клиента сервером время от времени по эстетическим соображениям (и я могу это оценить), например, вы хотите, чтобы вопрос был обновлен в 16:00 на точке, вы могли бы посмотреть в использование сокетов. Это, в сущности, означает, что клиент слушает любые изменения, отправленные с сервера, без необходимости опроса и, при необходимости, обновления.
Socket.io прост в использовании, но не самый простой, когда речь идет о взаимодействии с php. Я не знаю, знакомы ли вы с Node.js, но здесь небольшая дискуссия о других сокетах и php:
Каков наилучший способ использования веб-сайтов вместе с PHP и MySQL-скриптами?