Я работаю с Coldfusion 11. У меня есть мессенджер, который использует метаобновление, которое обновляет страницу каждые 30 секунд, чтобы получать новые мгновенные сообщения. Проблема с этим - вспышка перезагрузки страницы, и мне бы очень хотелось, чтобы она обновлялась каждые 15 секунд. Я решил попробовать измениться и использовать цикл для проверки любых невидимых сообщений. Если он есть, он перезагрузит страницу. Если нет, я хочу, чтобы он спал в течение 15 секунд, прежде чем продолжить цикл. Как видите, я устанавливал это 40 раз. С 15-секундными интервалами время ожидания истекает через 10 минут. Если пользователь не опубликовал новое сообщение или не изменил страницу в этот момент, мы считаем, что он вышел из системы. Код ниже находится в конце страницы. Проблема, с которой я сталкиваюсь, заключается в том, что сообщения не отображаются до завершения cloop. Есть ли способ настроить цикл для работы в фоновом режиме, но отображать текущие сообщения?
<cfloop from="1" to="40" index="i">
<cfset sleep(15000)>
<cfquery name="messck" datasource="mysource" maxrows="1">
SELECT id
FROM messages
WHERE user = '#getuser.code#' AND friend = '#getme.code#' AND seendate IS NULL
ORDER BY ID DESC
</cfquery>
<cfif messck.recordcount EQ 0>
<cfelse>
<cflocation url="messagebox.cfm?code=#url.code#">
</cfif>
</cfloop>
Спасибо, Майк