Как обработать error.VCollectionNotAvailableException: Коллекция закрыта после открытия. (10) в ColdFusion?
Я использую ColdFusion 9 с именем коллекции verity 'shopColl'. Я создаю расписание задач для вызова файла CFM для индексации этой коллекции каждые 5 минут.
но я обнаружил эту ошибку при попытке обновить индекс в коллекции:
An error occurred while performing an operation in the Search Engine library.; DETAIL:The collection is not available.: com.verity.coll.VCollectionNotAvailableException: Collection down after opening. (10)
Не могли бы вы помочь мне, как решить эту проблему? процесс кажется правильным до этой ночи.
Код ниже, находится в файле CFM, который график задач будет вызывать в рутине.
<cfprocessingdirective suppresswhitespace="true">
<cftry>
<!--- pull the content --->
<cfquery datasource="shop" name="shop.getContent">
SELECT *
FROM shop
</cfquery>
<!--- update collection --->
<cflock name="cfindex_lock" type="exclusive" timeout="30">
<cfindex collection="shopColl"
action="refresh"
type="custom"
query="shop.getContent"
key="id"
title="title"
body="title,description" >
</cflock>
<!--- Log information about document change --->
<cflog file="updateStatus" application="No"
type="information"
text="MESSAGE: Eso shop collection updated; TIME: #now()#">
<cfreturn true />
<cfcatch type="any">
<!--- Log information about error --->
<cflog file="updateStatus" application="No"
type="error"
text="MESSAGE: error in updating index -- #cfcatch.message#; DETAIL:#cfcatch.detail# TIME: #now()#">
<cfreturn false />
</cfcatch>
</cftry>
</cfprocessingdirective>
1 ответ
Решение
Попробуйте запустить его вне задачи, чтобы увидеть, сколько времени это займет. Если это займет более 5 минут, это может привести к взаимоблокировке с запланированной задачей.