2010-01-06 3 views
0

Я использую ColdFusion 9, создав имя коллекции «shopColl». Я создаю расписание задач для вызова файла CFM для индексирования этой коллекции каждые 5 минут.Как обрабатывать error.VCollectionNotAvailableException: Сбор вниз после открытия. (10) в ColdFusion?

, но я нашел эту ошибку, когда я пытаюсь обновить индекс в коллекции:

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

+0

Hi, jarofclay. Я попытался запустить CFM с браузером напрямую, но ColdFusion все еще регистрирует ту же ошибку. Не могли бы вы дать мне больше предложений? – Teerasej

+0

-Поверните запланированную задачу, чтобы она не запускалась во время тестирования. -Отменить службу Verity. -Попробуйте снова запустить сценарий (не по расписанию) и обратите внимание на время Если это по-прежнему дает вам такую ​​же ошибку , попробуйте запустить ремонт с исполняемым файлом в каталоге k2 \ _nti40 \ bin: "mkvdk.exe -collection -repair" – jarofclay