Ошибка переменной сеанса Coldfusion 9 при запуске в планировщике
У меня есть процесс, который, когда я запускаю его вручную, он работает нормально, без ошибок. Я настроил его в CF Administrator Scheduler для ежедневного запуска в 3:00. Он запускается и выдает ошибки в одной строке каждый раз. Это было сделано на прошлой неделе.
Ошибка: элемент DATEE не определен в SESSION. Конкретная последовательность включаемых или обрабатываемых файлов: C:\data\wwwroot\webapps\cfeis\commonapp\sftp\newpdfs.cfm, строка: 45
Я знаю, что эта переменная сеанса существует, кроме того, она используется пару строк раньше, и там она работает нормально.
<!---Loops through selected folder. If .zip found, extracts all files into same folder--->
<cftry>
<cfdirectory action="list" directory="#dropfolder#\#session.datee#" name="listRoot">
<cfloop query="listRoot">
<!---<cfif #listroot.name# contains ".zip">--->
<cfif #listroot.name# contains ".zip" and #listroot.name# contains "Writing">
<cfset session.foldname=#left(listroot.name, len(listroot.name)-4)#>
<cfif not DirectoryExists("#dropfolder#\#session.datee#\#session.foldname#")>
<cfset DirectoryCreate("#dropfolder#\#session.datee#\#session.foldname#")>
</cfif>
<cftry>
<cfzip action="unzip" destination="#dropfolder#\#session.datee#\#session.foldname#" file="#dropfolder#\#session.datee#\#listRoot.name#" overwrite="yes" recurse="yes">
<cfcatch>
<cfsavecontent variable= "mailmessage">
<cfoutput>
#cfcatch.message#
</cfoutput>
</cfsavecontent>
<cfmail from="eis-distributed-apps@lists.gatech.edu" to="lauren.robinson@oit.gatech.edu" subject="Unzip error" type="html">
<cfmailpart type="text/html" charset="utf-8">#mailmessage#</cfmailpart>
<cfmailpart type="text/plain" charset="utf-8">#textMessage(mailmessage)#</cfmailpart>
</cfmail>
</cfcatch>
</cftry>
</cfif>
</cfloop>
<cfcatch>
</cfcatch>
</cftry>
<cfset session.funzip=0>
<cfset session.funzipArr=ArrayNew(1)>
<cfset sleep(10000)>
<cfdirectory action="list" directory="#dropfolder#\#session.datee#\#session.foldname#" name="listRoot">
Строка, в которой он ошибается, является последней строкой, показанной в коде выше. Как видите, одна и та же переменная ранее использовалась в коде 3-4 раза. Может кто-нибудь помочь мне понять, что может быть причиной этого???
1 ответ
Сессии и запланированные задания часто не работают вместе. Сессии обычно используются как часть процесса входа в систему. Нет пользователя для входа на запланированные задания.
Если это ваш полный код, вы можете заменить session.*
с request.*