2010-01-06 8 views
0

J'utilise ColdFusion 9, avec créer un nom de collection de vérité 'shopColl'. Je crée un calendrier de tâches pour appeler un fichier CFM pour indexer cette collection toutes les 5 minutes.Comment gérer error.VCollectionNotAvailableException: Collecte après ouverture. (10) dans ColdFusion?

mais je trouve cette erreur lorsque je tente de rafraîchir l'index dans la collection:

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) 

Pourriez-vous me aider comment résoudre ce problème? le processus semble correct avant jusqu'à cette nuit.

Le code ci-dessous, est dans le fichier CFM que le calendrier des tâches invoquera dans la routine.

<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> 

Répondre

1

Essayez de l'exécuter en dehors d'être une tâche pour voir combien de temps cela prend. Si cela prend plus de 5 minutes, la tâche planifiée pourrait être bloquée.

+0

Salut, jarofclay. J'ai essayé d'exécuter CFM directement avec le navigateur, mais ColdFusion enregistre toujours la même erreur. Pourriez-vous me donner plus de suggestions? – Teerasej

+0

-Éteignez la tâche planifiée afin qu'elle ne s'exécute pas pendant que vous testez -Remarquez le service Verity -Essayez d'exécuter à nouveau votre script (pas comme prévu) et notez l'heure Si cela vous donne toujours la même erreur , essayez d'exécuter une réparation avec l'exécutable dans le répertoire k2 \ _nti40 \ bin: "mkvdk.exe -collection -repair" – jarofclay