У меня следующая ситуация:
- Три задачи: A, B, C (реализовано как рабочие)
- Два пользовательских события (вызовы метода контроллера)
Задачи запускаются следующим образом:
- Первое пользовательское событие вызывает Задачу A и Задачу B.
- Тогда необязательное пользовательское событие может вызвать задачу C, но эта задача не должна выполняться, пока не будут выполнены задачи A и B.
Как я могу применить эту цепочку событий?
Одним из способов будет выполнение Задач A и B в начале Задачи C, но пользовательское событие, инициирующее Задачу C, может никогда не произойти, но Задачи A и B, тем не менее, должны выполняться.
В "нормальной" программе у меня был бы целый арсенал объектов синхронизации (мьютексы, семафоры, критические секции, ...). Но что я могу сделать здесь?
(Если это имеет значение, приложение Rails будет работать на сервере Linux, и Workling настроен на использование Starling)