private void PollForTask(Worker worker) { if (worker.IsPaused) { //WorkflowTaskMetrics.paused(worker.getTaskDefName()); m_logger.LogDebug($"Worker {nameof(worker)} has been paused. Not polling anymore!"); return; } m_logger.LogDebug($"Polling {worker.TaskDefName}, domain={"domain"}, count = {worker.PollCount} timeout = {worker.LongPollTimeoutInMs} ms"); try { var taskType = worker.TaskDefName; //Stopwatch sw = WorkflowTaskMetrics.pollTimer(worker.getTaskDefName()); var tasks = client.Poll(taskType, "", worker.Identity, worker.PollCount, worker.LongPollTimeoutInMs); //sw.stop(); m_logger.LogDebug($"Polled { worker.TaskDefName}, for domain {"domain"} and receivd {tasks.Count} tasks"); foreach (var task in tasks) { try { Execute(worker, task); } catch (Exception t) { task.Status = Status.FAILED; TaskResult result = new TaskResult(task); handleException(t, result, worker, true, task); } } } catch (Exception e) { //WorkflowTaskMetrics.pollingException(worker.getTaskDefName(), e); m_logger.LogError($"Error when polling for task {e.Message}"); } }
public void Poll() { var value = m_testClient.Poll("task_1", "", "worker1", 1, 1000); Assert.IsNotNull(value); }