Pregunta

Tengo una tarea de implementar el servicio con un comportamiento como éste. Mi pregunta es:

¿Cómo Indexación Servicio recordar qué archivos ya estaban indexados y lo que no, lo que los archivos modificados y necesidad de REINDEX ellos?

Además, puedo detener este servicio y luego iniciarlo después de unos días, se sigue trabajando. ¿Tiene su propia base de datos con información sobre los archivos?

Gracias

¿Fue útil?

Solución

Por lo general, las estancias de indización de servicio en el fondo usando WaitForSingleObject / WaitForMultipleObjects en los mangos creado mediante llamadas a FindFirstChangeNotification. Si quieres apoyar a que el servicio de indexación se puede apagar (o ser utilizado para un directorio ya existente) que sin duda debe almacenar la fecha y hora de la última ejecución índice en cada archivo. Esto se puede comparar a la LastWriteTime del archivo dado.

EDIT: se debe utilizar ReadDirectoryChangesW y otro hilo que forma asíncrona índices de los archivos para asegurarse de que no se pierda ningún cambio. Usted puede desovar nuevos temas para cada archivo de índice (caro) o utilizar una cola de trabajos y una cantidad fija de subprocesos de trabajo (1 o 2 preferentemente)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top