AWS SWF: получение идентификатора работника при реализации рабочего процесса

Я использую фреймворк AWS SWF Flow для Java и хотел бы внедрить Logentries Logger внутрь рабочих процессов, чтобы я мог легко их отслеживать.

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

public class CopyWorkflowImpl implements CopyWorkflow {
private Logger log; 
private CopyActivitiesClient operations = new CopyActivitiesClientImpl();

public CopyWorkflowImpl(){
    //TODO: somehow get worker ID ?
    log = LoggerFactory.getLogger("CopyWorkflowWorker");
}

Я мог видеть, что класс WorkflowWorker имеет метод getIdentity именно для этого, однако я не могу получить к нему доступ внутри реализации Workflow. Есть ли у вас какие-либо идеи о том, как я мог бы достичь этого?


person Ana Todor    schedule 17.11.2014    source источник
comment
Вы хотите получить идентификатор работника рабочего процесса, который фактически работает над рабочим процессом внутри выполнения рабочего процесса? Или вы хотите получить workflowExecutionId или runId во время выполнения рабочего процесса? Здесь вы находитесь в рамках рабочего процесса, а не фактический работник рабочего процесса.   -  person mkobit    schedule 19.11.2014
comment
Я хочу получить идентификатор работника рабочего процесса, который фактически работает над рабочим процессом внутри выполнения рабочего процесса. Я знаю, что масштабы разные, но я подумал, что, может быть, есть умный способ как-то это получить.   -  person Ana Todor    schedule 20.11.2014


Ответы (1)


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

person LiVi    schedule 08.12.2014
comment
Я знаю, что Вы имеете ввиду. Мне это нужно было больше для целей отладки, но я могу жить и без этого. Спасибо за совет по внешнему рабочему процессу. - person Ana Todor; 08.12.2014