我正在使用ColdFusion 9,创建一个真实的集合名称'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>
答案 0 :(得分:1)
尝试在任务之外运行它以查看需要多长时间。如果花费的时间超过5分钟,则计划任务可能会陷入僵局。