Ambiente
Adobe Campaign Classic v7
Problema
Viene visualizzato il seguente errore durante l'esecuzione del flusso di lavoro di archiviazione (mcSynch) da Message Center (Centro messaggi):
Soluzione
Il problema è l’ID dell’istanza di esecuzione utilizzato per identificare l’istanza di esecuzione RT.
Come mostrato sopra, il valore utilizzato è 50.805.170.
L’ID dell’istanza di esecuzione viene utilizzato dal flusso di lavoro di archiviazione come segue:
vars.CELL_OFFSET + "*" + vars.cellId + " + @id"
Dove
CELL_OFFSET è una costante (72057594037927936) creata dall'attività "Informazioni di connessione".
cellId è l'ID dell'istanza di esecuzione.
Questi due numeri sono moltiplicati insieme. Il numero del risultato finale è maggiore del valore massimo del tipo di valore di valore di Postgres bigint (Tipi numerici PostgreSQL).
I due valori vengono aggiunti alla query come segue:
SELEZIONA :#(1)# * :#(2)# + B0.iBatchEventId, B0.iBatchEventId, B0.iStatus, B0.iRetry, B0.tsSubmit, B0.tsScheduled, B0.tsExpiration, B0.tsCreated, B0.tsProcessing, B0.tsProcessed, B0.tsLastModified, B0.sType, B0.iDeliveryId,0.iWishedChannel, B0.sExternalId, B0.sOrigin, B0.sEmail, B0.iEmailFormat, B0.sMobilePhone, B0.sRegistrationToken, B0.iMobileAppId, B0.sLine1, B0.sLine2, B0.sLine3, B0.ssLine Line4, B0.sLine5, B0.sLine6, B0.sLine7, B0.sCountryCode, B0.sLanguage, B0.iFolderId, B0.iCreatedById, B0.mData FROM NmsBatchEvent B0 WHERE ((B0.iFolderId IN) (SELECT xr.iFolderId DA XtkRights xr DOVE xr.iOperatorId IN (3798) O B0.iFolderId=0)) E ((B0.iFolderId IN (SELECT xr.iFolderId DA XtkRights xr DOVE xr.iOperatorId IN (3798)) O B0.iFolderFolder Id=0)) E ((B0.iBatchEventId :#(3)#) E (B0.tsLastModified :#(4)#)) ORDINE PER troncamento(B0.tsLastModified, :#(5)#, 'Europa/Londra'), B0.iBatchEventId LIMIT=501' Param(0) 72057594037927936\n — :#(1)#
Param(1)=50805170\n — :#(2)#
Param(2)=0\n Param(3)=09/04/2021 05:00:26\n Param(4)=1
La soluzione consiste nell’utilizzare un numero inferiore come ID dell’istanza di esecuzione.