2015-12-31 6 views
1

Недавно я попытался создать задачу с Dropwizard, которая будет запускаться внутри ресурса, но я не могу найти способ сделать это. Я знаю, что есть интеграция с Quartz, но это не соответствует моим потребностям (не нужно планировать задачи). Это единственный способ сделать POST для конечной точки задачи? Если да, то как я могу выполнить запрос/tasks/myTask?Могу ли я вызвать выполнение задачи Dropwizard?

Я не хочу, чтобы изменить архитектуру на что-то вроде производителя/потребителя, где я создаю задачу в ресурсе и помещаю ее в очередь, чтобы что-то выполняло заданные задачи.

ответ

0

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

+0

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

+0

Другим возможным решением было бы создать ExecutorService в качестве управляемого объекта и сделать ваш длинный код Runnable исполняемым в отдельном асинхронно. – stve

Смежные вопросы