GAE: знать, находится ли конкретная задача в очереди
Я должен знать, находится ли определенная задача, определенная параметрами в URL, в очереди или нет... это возможно?
Я использую Java!
Спасибо:)
2 ответа
Вы можете сделать это, используя именованные задачи.
Например, вы можете хэшировать параметры задачи и установить результат в качестве имени. Тогда, если вы попытаетесь вставить задачу с одинаковыми параметрами дважды, вторая вставка завершится неудачно.
Как упоминалось ранее, здесь присутствуют условия гонки, вы можете подумать о том, существует ли конструкция, в которой наличие нескольких копий одной и той же задачи в очереди в любое время не вызовет проблем.
Вы можете использовать API REST TASK Queue для проверки состояния задач в очереди
https://developers.google.com/appengine/docs/java/taskqueue/rest
В качестве альтернативы вы можете написать код заранее, используя класс com.google.appengine.api.taskqueue.TaskHandle, чтобы получить указатель на задачу, а затем выставить объект через API