Example #1
0
        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}");
            }
        }
Example #2
0
        public void Poll()
        {
            var value = m_testClient.Poll("task_1", "", "worker1", 1, 1000);

            Assert.IsNotNull(value);
        }