Pregunta

Tengo un controlador de correo electrónico entrante que está trabajando. Sin embargo, en este momento estoy preocupado por los problemas de concurrencia, cuando un usuario envía mensajes de correo electrónico 2 al mismo tiempo para el mismo objeto. (Tengo una forma de documentos de negocios, y una forma de documento técnico que se envía a la fuerza de ventas.) Contienen cosas diferentes, excepto por el nombre de la empresa (Ellos se envían a través de otra persona directamente a la fuerza de ventas).

Desde que estoy haciendo un inserto de mi objeto personalizado al final, estoy preocupado por los problemas de concurrencia. Le ocurrirá esto alguna vez? Mi manejador de correo electrónico entrante crea 2 objetos personalizados para la misma empresa y tanto el llenado en sólo la mitad de la información.

Si es así, ¿cómo puedo evitar que un problema de concurrencia suceda? Las ideas actuales: - Hacer una consulta para custom_object de inmediato con la cuenta asociada en lugar de al final. Si no existe la custom_object, crear uno.

Saludos,

Kuen

¿Fue útil?

Solución

"concurrencia" en el sentido tradicional, rara vez es un problema en la plataforma. Cada uno de sus correos electrónicos en-unida se va a crear un proceso separado (controlador) en la plataforma y operar de forma independiente. Usted tiene un par de opciones para hacer frente a su escenario de correo electrónico de varias partes, aunque si usted está mirando para combinarlos:

  1. planificable Apex le permitirá regular (diaria, semanal, lo que sea) revisar sus cuentas existentes para la existencia de dos objetos personalizados, a continuación, utilizar una combinación estándar para reunirlas. La desventaja es que los usuarios suelen ver ambos objetos hasta que su proceso ha tenido tiempo para fundirlas. Piense en ello como un 'recolector de basura' o 'de limpieza' tipo de modelo.
  2. Puede utilizar un tipo de correo electrónico entrante como la forma 'principal', luego procesar el otro (por ejemplo, el documento técnico) en un método asincrónico. Vas a sus posibilidades de tener que procesar en el orden correcto, pero no hay garantía.
  3. Su forma (consulta primero) también es completamente bien, aunque una vez más, su consulta no puede 'enganchar' el objeto después de su sido insertada, y si no, se perderá por completo.

En sus zapatos, probablemente haría una combinación de 2, 3 y luego para limpiar cualquier olvida.

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