1) У меня есть очень простой скрипт, который увеличивает переменную сеанса на l oop с вызовом в режиме ожидания 1 секунда. В файле status.cfm я сбросил переменную сеанса и вижу ее приращение; обновляя страницу время от времени.
Но когда я переключаю управление сессией с памяти на redis, то происходит то, что сессия не увеличивается в l oop, и когда сценарий заканчивается, то в этот момент он сохранить последнее значение l oop. Поэтому, если на странице status.cfm я продолжаю обновлять, она не отражает изменения до тех пор, пока не будет завершен сценарий l oop, и покажет только последнее значение, что не соответствует моей цели мониторинга изменений в сеансе.
index1.cfm
<cfloop index="i" from="1" to="10">
<cfscript>sleep(1000)</cfscript>
<cfset session.counter.foo = i>
</cfloop>
<cfdump var="#session.counter#">
status1.cfm
Checking status...
<cfdump var="#session.counter#">
2) Тот же сценарий, что и в первом пункте, но на этот раз для потока. И проблема в том, что результат протектора не сохраняется в сеансе и выдает следующее сообщение вместо объекта результата потока.
coldfusion.runtime.SessionScope$Serialization Problem
index2.cfm
Setting Threads struct {foo="bar", details={}}....
<cfset session.threads_foo = "bar">
<cfset session.thread_details = structNew()>
Creating Thread and dumping....
<cfthread action="run" name="thread01">
<cfscript>sleep(2000);</cfscript>
<cfset thread.j=1>
<cfloop index="i" from="1" to="999999">
<cfset thread.j=thread.j+1>
</cfloop>
</cfthread>
<cfset session.thread_details = thread01>
Dumping session variable...
<cfdump var="#session#">
[DONE]<br><br>
status2.cfm
Checking status session threads status...
<cfdump var="#session#">
В PHP есть функция session_write_close (), которая закрывает блокировку файла сессии, поэтому она не ожидает завершения сценария и доступа к файлу сеанса. Есть ли что-нибудь в холодном синтезе, как это? Я не уверен, что даже если такая функция существует, она поможет в сеансе redis, который уже является хранилищем памяти, а не файлом.
, пожалуйста, руководство