Как создать WorkQueue Guidewire? - PullRequest
0 голосов
/ 25 октября 2018

Мне нужно создать рабочую очередь в guidewire, но не найти документацию guidewire по этому поводу.Кто-нибудь может мне помочь, пожалуйста?

С уважением, Дуглас Резенде

1 Ответ

0 голосов
/ 25 октября 2018

Вам нужно несколько вещей:

  1. Создайте новый Typecode в BatchProcessType typekey (например, MyNewCode).Кроме того, вам нужно добавить категории: Schedulable, UIRunnable или APIRunnable в соответствии с вашими потребностями.
  2. Создайте новый класс, расширяющий WorkQueueBase, например:
class MyWorkQueue extends WorkQueueBase<Message, StandardWorkItem> {
  private final static var _batchProcessType = BatchProcessType.TC_MYNEWCODE
  construct() {
    super(_batchProcessType, StandardWorkItem, Message)
  }

  override function findTargets(): Iterator<Message> {
    return Query.make(Message).select().iterator()
  }

  override function processWorkItem(p0: StandardWorkItem) {
    var bean = extractTarget(p0)
    // My process
  }
}

Зарегистрируйте новый класс в work-queue.xml.Вы можете искать в документации дополнительные параметры, такие как retryLimit, retryInterval, server, env, maxpollinterval и т. Д.
<work-queue workQueueClass="example.MyWorkQueue" progressinterval="600000">
        <worker instances="1" batchsize="5" />
</work-queue>
Зарегистрируйте новый BatchProcessType в scheduler-config.xml (необязательно).Для правильной работы Typecode нужна категория Schedulable (первый шаг)
<ProcessSchedule process="MyNewCode">
    <CronSchedule minutes="*/10" />
</ProcessSchedule>
...