How to get all instances of workflows


#1

My question may seem silly, but how I can get all instances of workflows from java client? If not why then?
For example, I have some tasks with incorrect state (JOB_NO_RETRIES) and I whant to complete them or handle again. But I need a task instance key for every job. And how I will get them, if I can’t extract all tasks instances from client? Thank you.


#2

I think this question overlaps with https://forum.zeebe.io/t/handle-job-no-retries-tasks/206/2.

If you have failed jobs which has no retries left then you should resolve the incident first.

There is no client request to get all workflow instances directly from the broker. You can get the instances by implementing an exporter.

Does this answer your questions?

Best regards,
Philipp


#3

Hi @philipp.ossler! Thank you for response. Is it impossible architecturally or simply the opportunity is not realized?


#4

I think this kind of requests doesn’t fit well to how Zeebe is designed. It is optimized to process workflows as a stream. It’s not a good data source where you can get or query the data.

In order to do get data out of Zeebe, you should use the exporter API. For example, you could build an exporter which reads all data and insert them in a data source (e.g. a database, a queue, a stream, etc.). Then an application can consume from the data source and do something.


#5

We are thinking of using Zeebe as a BPM engine to automate a large process for one large bank. The process involves many participants, and at the moment I see the use of multiple UserTask’s that will cause the process to pause. While we are choosing between different existing solutions (Flowable, Activiti and Zeebe). Do I understand correctly that Zeebe is not designed for such tasks? What kind of tasks is Zeebe recommended for? How correct is it to use for non-persistent processes (without using exporters). Maybe you direct us in the right direction. Thank you!


#6

Currently, Zeebe doesn’t support user tasks. You could model user tasks as service tasks of type “user” and build a task list around it. The task list would be a job worker which activate all jobs of type “user” and make them available for the users.

Zeebe can process a workflow fast and are able to scale. So it can show its power best if the workflow has many automated steps (e.g. service tasks) and less waiting states (e.g. user tasks). You can read more about it on the website.

It should be a good fit. Do you have something in mind?

BTW, you should also have a look at Camunda. It supports user tasks and has a built-in task list.


#7

Thank’s @philipp.ossler!

Not yet. I just wanted to hear if it was used =)
Now we are thinking about how we can use Zeebe more effective