Наши приложения настроены на сброс своих областей через переменную URL.Таким образом, вы можете использовать подобный код для перезапуска приложений на всех серверах в вашем кластере через http через страницу в вашем администраторе:
<cfset serverList = "Server1.domain.com,Server2.domain.com" />
<cfset threadList = "" />
<cfloop list="#serverList#" index="currentServer">
<cfset threadList = ListAppend(threadList, "thread#currentServer#") />
<cfthread
action="run"
name="thread#currentServer#"
url="http://#currentServer#?URLToResetScope"
key="#currentIndex#"
>
<cfhttp method="get" url="#Attributes.URL#" result="thread.cfhttp" />
</cfthread>
</cfloop>
<cfthread action="join" name="#threadList#" timeout="120000" />
<cfloop list="#threadList#" index="currentThread">
<cfset Results &= currenthThread & ": " & threadresult.cfhttp />
</cfloop>
Что мы делаем, это берем список серверов, затем циклически повторяемэтот список, а cfthread передает запрос каждому серверу для сброса его собственной области.Затем мы объединяем все эти потоки вместе и перебираем их, чтобы получить результаты каждого запроса.Затем мы можем отобразить эти результаты в админке, чтобы убедиться, что все серверы в кластере обновлены правильно.Если есть сервер, который не был обновлен правильно, мы можем выполнить сброс этого сервера по отдельности.
Дан