KamoCRM

Reclamar una grabación escalonada antes de procesarla, por lo que una llamada larga nunca se almacena dos veces

FixConversionService
Enviado
28 de septiembre de 2026 a las 2:53 UTC
Autor
Kamo
Commit
8a8d34c

DaemonHerramientas de servicio ConversiónServicio cada fila que todavía no está procesada: en su encuesta marca, en cada voip.recording. recibido mensaje (que no esperar un lote en vuelo), y otra vez después de su tiempo de lectura de 10 minutos da en un lote que sigue corriendo aquí. Retracción de transcripción a través de carreras AIService en aproximadamente 0.4 x tiempo real, por lo que un lote de llamada con más de ~24 minutos de audio fuera de esa ventana, y las filas todavía en vuelo se convirtieron, transcribieron y almacenado una segunda vez: una fila duplicada Img/Recording y AUDIO SECONDS dos veces. procesoUno ahora toma un contrato de Redis en la fila (SET NX PX, token al azar) antes leerlo. El arrendamiento se renueva cada tercio de sus 5 minutos mientras que el trabajo funciona, por lo que una vaina muerta lo deja dentro de un contrato de arrendamiento; un trabajador pasado 4 horas para Renovando. Antes de almacenar, el trabajador comprueba que todavía tiene el alquiler, y un el fracaso está escrito a la fila sólo mientras lo hace. Una fila que otro trabajador sostiene respuestas ok/inFlight touched; Redis irreachable deja la fila para un posterior garrapata (casas cerradas, como SingletonTaskRunner). Redis, no una columna: no DDL. ********** Lote de 30 minutos enviado de nuevo mientras que su primera grabación está transcribiendo almacena y transcribe cada grabación una vez (4 transcripciones sin reclamación). SP12 examen final I2.

Todos los cambios

¿Te gusta lo que ves envío?

Comienza con el plan gratuito y vuelve a leer esta página dentro de un mes para ver cómo funcionan las funciones y los beneficios.

Comience gratis para siempreVer los precios