Выполнение вложенных рекурсивных задач с логической паузой между ними - PullRequest
0 голосов
/ 24 октября 2018

Я столкнулся с проблемой, когда у меня есть вложенный список задач, которые должны выполняться последовательно, которые хранятся в базе данных NoSQL.Я обычно выполняю рекурсивный цикл для выполнения этих задач одну за другой, пока не достигнет конца списка.

Теперь проблема в том, что эта рекурсия может нуждаться в остановке между ними, чтобы произошло какое-то событие,Как только это событие произошло, я хочу продолжить рекурсивное выполнение с того места, откуда оно было оставлено, что я не знаю, как это сделать.

Что касается хранения состояний, то, хотя я и храню в базе данных информацию о том, где произошло событие, и нахожу эту задачу, рекурсивно повторяю ее снова, пока не достигну обозначенного состояния, а затем продолжаю рекурсивное выполнение оттуда.решение, но я не уверен, что это правильный подход.

Ниже я приложил структуру данных вложенных списков задач, которые должны выполняться рекурсивно.

{"blocks": {
    "sequenceNumber": "INT",
    "blocks": [{
        "sequenceNumber": "INT",
        "blocks": [
            ..... lOGICAL PAUSE HERE.....
            "blocks" : [
            ]
        ]
    }]
}}
...