Esempio n. 1
0
        public void CreateWorker(string bpmIdentifier, WorkerDefinition workerDefinition)
        {
            _client.NewWorker()
            .JobType(workerDefinition.Identifier)
            .Handler(async(client, job) =>
            {
                Console.WriteLine("Received job: " + job);
                Console.WriteLine($"Start executing custom action for process {bpmIdentifier}");

                string result = workerDefinition.Action.Invoke(job.Key.ToString());

                Console.WriteLine($"Finished executing custom action for process {bpmIdentifier}");

                if (result == null)
                {
                    await client.NewCompleteJobCommand(job.Key)
                    .Send();
                }
                else
                {
                    await client.NewCompleteJobCommand(job.Key)
                    .Variables(result)
                    .Send();
                }
            })
            .MaxJobsActive(500)
            .Name(workerDefinition.Identifier)
            .PollInterval(TimeSpan.FromSeconds(50))
            .PollingTimeout(TimeSpan.FromSeconds(50))
            .Timeout(TimeSpan.FromSeconds(10))
            .Open();
        }
 public void CreateWorker(string bpmIdentifier, WorkerDefinition workerDefinition)
 {
     Console.WriteLine("Created tons of workers");
 }