2012-05-15 8 views
5

Estoy en Tridion 2009 SP1. En un punto, la capacidad de ver la cola de publicación para todos los usuarios (es decir, no filtros) simplemente dejó de funcionar. En la GUI CM se recibe un error de tiempo de espera:No se ha podido obtener la lista de elementos de cola de publicación. Tiempo de espera expirado

(80040E31) Timeout expired 
Unable to get list of publishing queue items. 

SQLUtilities.OpenRecordsetByStoredProcedure 
SystemDAL.GetListData 
SystemBLST.lObjListPublishTransactions 
SystemBLST.IBLSystemST_GetListData 
ManagementInfo.GetListPublishQueue 
Request.GetList 

Así que he intentado usar la publicación de gestor de colas Powertool para limpiar la cola, pero eso sólo genera un error 500, lo cual es consistente con tener demasiados elementos en el cola.

Luego he intentado purgar la cola utilizando la Herramienta de Purga Tridion, pero crujidos durante unos segundos y devuelve el mismo error:

14-May-2012 21:10:12 Log cleared. 
14-May-2012 21:10:12 Purge action started at 14-May-2012 21:10:12 
14-May-2012 21:10:12 Keeping the last 5 versions. 
14-May-2012 21:10:12 Recursive mode: False 
14-May-2012 21:11:12 FAILED: <?xml version="1.0"?> 
<tcm:Error xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ErrorCode="80040E31" Category="7" Source="Kernel" Severity="1"> 
    <tcm:Line ErrorCode="80040E31" Cause="false" MessageID="4613"><![CDATA[Unable to get list of publishing queue items.]]> 
     <tcm:Token>RESID_4485</tcm:Token> 
     <tcm:Token>RESID_15821</tcm:Token> 
    </tcm:Line> 
    <tcm:Line ErrorCode="80040E31" Cause="true"> 
     <![CDATA[Timeout expired]]> 
    </tcm:Line> 
    <tcm:Details> 
     <tcm:CallStack> 
      <tcm:Location>SQLUtilities.OpenRecordsetByStoredProcedure</tcm:Location> 
      <tcm:Location>SystemDAL.GetListData</tcm:Location>    
      <tcm:Location>SystemBLST.lObjListPublishTransactions</tcm:Location> 
      <tcm:Location>SystemBLST.IBLSystemST_GetListData</tcm:Location> 
      <tcm:Location>ManagementInfo.GetListPublishQueue</tcm:Location> 
     </tcm:CallStack> 
    </tcm:Details> 
</tcm:Error> 

El evento registra todos muestran el mismo error exacto. Ah, y sí, intenté reiniciar los servicios COM +, Publisher y Transport.

Parece que la cola de publicación está en un estado no accesible. ¿Podría sugerir cuál podría ser la causa o mi siguiente paso?

+1

Cuando filtra la lista, ¿la obtiene correctamente? –

+1

En la mayoría de los usuarios, sí. Sin embargo, cuando me filtro (el tipo que arruinó la cola publicando un millón de artículos a través de un trabajo por lotes), también se agota el tiempo. –

+0

DB El mantenimiento (o la falta de él) suele ser el culpable de este tipo de errores. –

Respuesta

4

Hay varias cosas que puedes probar;

En código:

  1. Reducir el conjunto de datos para períodos de tiempo quizá específicos (por semana, por mes)
  2. seleccionar los tipos de estadísticas específicas (fallido, el éxito, etc) uno por uno

En la infraestructura:

  1. No estoy seguro de lo que está intentando hacer, pero si solo está eliminando transacciones, tal vez sólo tiene que utilizar la herramienta de purga (pero luego a medida que se está codificando Estoy asumiendo que no es lo suficientemente inteligente como para su caso de uso)
  2. Usar la herramienta de purga para eliminar las transacciones de más edad que son irrelevantes para el caso de uso
  3. Asegúrese de que la base de datos es totalmente optimizado
  4. (como se mencionó) aumente los tiempos de espera en el complemento de configuración de Tridion
  5. Asegúrese de tener los últimos parches para su versión de Tridion (hubo una serie de cambios en el rendimiento de las colas para ambos GA 2009 y SP1
  6. En general, asegúrese de que el hardware está funcionando
+0

+1 para "Usar la herramienta de purga para eliminar transacciones anteriores", aunque Sospecho que alcanzará el mismo tiempo de espera. –

+0

Hola Nickoli. ¿Sabe qué artículo, o qué combinación de artículos, de los que figuran en la lista solucionó el problema, por favor? Estamos teniendo el mismo problema y sospecho que la optimización de la base de datos y la depuración de la cola de publicación ayudarán con esto, pero agradeceríamos sus comentarios, por favor. Gracias, –

4

¿Cuál es su configuración de tiempo de espera para SQL Server e Internet Information Server? si se encuentran en los valores predeterminados de stock (no puede recordar lo que son) podría valer la pena intentar aumentarlos.

Si todavía está fallando, quizás rastrear la base de datos para ver por qué tarda tanto.

5

Tal vez pueda consultar la tabla de transacciones de publicación para obtener una lista de las tcm uri de todas sus transacciones, mover esto en una base de datos personalizada y utilizar el API/servicio de TOM.NET para abrir cada transacción individualmente y dependiendo del estado eliminarlo usando la API.

De esta manera puede eliminar sus transacciones de forma controlada sin trabajar directamente en la base de datos.

+0

Gracias Arjen. En Tridion 2009, el servicio principal no existía. Usar la API TOM COM + es una opción que probé en función de su sugerencia. El sencillo programa enlazado a través de cada usuario de Tridion [foreach (Usuario u en tdse.GetUsers()], obtuvo su lista de transacciones y borró las transacciones una a una. Sin embargo, al tratar de recuperar la lista para los usuarios que también tenían demasiado muchos elementos, la función GetListPublishTransactions (queueFilter) falla con un tiempo de espera. Esto lleva a la configuración de tiempo de espera de consulta de SQL Server que intentaré una vez que obtenga un DBA. –

+1

¿Qué tal obtener la lista de URI de TCM para las transacciones de publicación? por una consulta directa de la base de datos? Entonces todavía puede eliminarlos a través de la API (y así no obtener problemas de soporte en la base de datos). –

+0

Eso es lo que sugerí :) –

0

Creo que esto podría estar causando debido a 'N' número de In-Progress elementos que se encuentran en la cola de publicación.

No intente eliminar todos los elementos de onces.

mejores elementos de la cola de eliminación en este orden: -

  1. Error
  2. en curso

Además de esto, hace un momento vi a uno de revisiones.

Hotfix: CM_2009.1.74381

Tener un vistazo a esto.

3

Además de todos los buenos puntos enumerados aquí, ¿Optimizó la base de datos ?. Debes planear actualizar las estadísticas de DB regularmente y también reindexar. Verifique con su DBA que los planes de mantenimiento estén programados.

La actualización rápida de las estadísticas en CM DB (MSSQL: sp_updatestats) además de limpiar/purgar sus transacciones de forma regular ayudará al rendimiento de la GUI en general.

Puede comprobar la documentación de mantenimiento Tridion here

0

Restaurar una copia de seguridad de la base de datos de CM antes descargó un tropecientos artículos en la cola. No es lindo, pero podría llevarte allí.

De lo contrario, hable con Tridion sobre qué scripts de bases de datos pueden estar dispuestos a sancionar para solucionar esto.

Cuestiones relacionadas