Попробуйте long-polling, если сделать через websocket для вас пока сложно.
Вот
пример
На клиентской части реализовать можно так:
(function poll(){
$.ajax({ url: "server", success: function(data){
// make a sound
if (data.alert) beeboo("WAKE UP!");
}, dataType: "json", complete: poll, timeout: 30000 });
})();
На сервере у вас будет цикл с проверкой, который не будет отдавать запрос при нужном условии, главное таймауты задать.