Pregunta

Estoy tratando de hacer múltiples subida de imágenes a través de la etiqueta <cffileupload>. La etiqueta llama un archivo llamado fileupload.cfm al proceso / finalizar la imagen.

Dentro de esa imagen que quiero comenzar un hilo (aquí es donde yo no podría entender el roscado, por lo que me haga saber) de modo que pueda responder 'imagen subida atrás a la aplicación de carga del flash, pero iniciar un proceso de generación de miniaturas (que podría durar 1 min o menos, dependiendo del tamaño del archivo).

Hasta ahora he añadido algo como:

<!--- BUILD A THREAD TO CREATE / GENERATE THUMBNAILS --->
<cfthread action="run" name="t#qMid.mid#">
    <cfinvoke component="core.media-functions" method="generateThumbnails">
        <cfinvokeargument name="mid" value="#qMid.mid#">
    </cfinvoke> 
</cfthread>

Estoy llamando el método generateThumbnails, y usando un media id (mid) como referencia en el elemento que desea proceso. Creo que las matrices de hilo aunque tan pronto como se llega al final del archivo fileupload.cfm.

No estoy seguro si esto es sólo algo que debería tratar de correr detrás de todos los archivos se cargan?

Los pensamientos? No sabe cómo conseguir este trabajo correctamente.

Editar

Después de algunos retoques, parece que ha habido un error relacionado con el hilo que me fijo, pero debería mantener algo en mente con 'salir' hilos de este tipo? ¿Debo matar en algún momento? ¿Se acaba de ser limpiados después de la finalización? ¿Cómo puedo poner un 'plazo de ejecución máximo' de un hilo?

¿Fue útil?

Solución

Si ejecuta un hilo y en realidad no se llama <cfthread action="join" /> en algún momento más tarde, el hilo se ejecutará, en paralelo a su hilo de ejecución de la página, y si es necesario se ejecutará durante mucho más tiempo hasta que se complete su tarea.

No hay problema en dejar las discusiones correr como esto - se limpiarán como era de esperar, una vez que completen.

Si usted quiere ver si un hilo se está ejecutando simplemente correr cfstat que enumerará todas las solicitudes que se ejecutan - incluso los iniciaron por cfthread.

Usted probablemente ha visto los documentos CF aquí , pero aún más para que la salida de Ben investigación Nadal aquí .

En cuanto a los tiempos de espera de hilo - Se puede especificar un tiempo máximo que esperar a que las discusiones que ha creado para la ejecución página de nuevo la adhesión, pero que yo sepa no hay ninguna manera de poner un tiempo de espera (como una solicitud de página de tiempo de espera) en el hilo que ha creado

Espero que ayude!

Otros consejos

Una nota:

Los documentos hablan de "cero o más atributos específicos de la aplicación". Me gustaría prestar atención a esto. Esto crea una copia local de la variable, que le permite pasar de los valores que no se pueden cambiar.

Por lo tanto, yo llamaría

<cfthread action="run" name="t#qMid.mid#" mid="#qMid.mid#">
    <cfinvoke component="core.media-functions" method="generateThumbnails">
        <cfinvokeargument name="mid" value="#mid#">
    </cfinvoke> 
</cfthread>

sentido?

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