Как обработать 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 минут, это может привести к взаимоблокировке с запланированной задачей.

Другие вопросы по тегам