Soy nuevo en las colas y tengo problemas para configurar el siguiente esquema.¿Cómo sincronizar tareas en diferentes colas de distribución?
Tengo tres tareas que hacer.
Tarea A: solo se puede ejecutar en la cola principal, se puede ejecutar de forma asincrónica con la tarea B, no se puede ejecutar de forma asincrónica con la tarea C. Se ejecuta mucho pero se ejecuta con bastante rapidez.
Tarea B: Puede ejecutarse en cualquier cola, puede ejecutarse de forma asincrónica con la tarea A, no puede ejecutarse de forma asíncrona con la tarea C. Se ejecuta con poca frecuencia, pero tarda mucho tiempo en ejecutarse. Necesita la Tarea C para ejecutarse después, pero una vez más la tarea C no puede ejecutarse de forma asíncrona con la tarea A.
Tarea C: Puede ejecutarse en cualquier cola. No se puede ejecutar de forma asíncrona con la tarea A o la tarea B. Se ejecuta con poca frecuencia y se ejecuta rápidamente.
Ahora mismo tengo así:
tarea A se envía a la cola principal por una serie de colas X (una tarea se sometió a Serial X cola para presentar una tarea a la cola principal).
tarea B se somete a cola de serie X.
Tarea C se presenta a la cola principal por la serie X de cola, al igual que la tarea A.
El problema aquí es que la tarea C a veces se ejecuta en el al mismo tiempo que la tarea B. La cola principal a veces ejecuta la tarea C al mismo tiempo que la cola en serie ejecuta la tarea B.
Entonces, ¿cómo puedo asegurarme de que la tarea B y la tarea C nunca se ejecuten al mismo tiempo que permitan A y B para ejecutar al mismo tiempo y evitar que A y C se ejecuten al mismo tiempo? Además, ¿hay alguna manera fácil de asegurarse de que se ejecutan la misma cantidad de veces? (alternando hacia adelante y hacia atrás)
Perfecto, eso es exactamente lo que tenía que hacer. ¡Gracias un montón! – Randall