得到流树
In some situations you need to get a job and all of its children, grandchildren and so on.
The pattern to solve this requirement consists on using getFlow method.
TypeScript
const flow = new FlowProducer({ connection });
const originalTree = await flow.add({
name: "root-job",
queueName: "topQueueName",
data: {},
children: [
{
name,
data: { idx: 0, foo: "bar" },
queueName: "childrenQueueName",
children: [
{
name,
data: { idx: 4, foo: "baz" },
queueName: "grandchildrenQueueName",
},
],
},
{
name,
data: { idx: 2, foo: "foo" },
queueName: "childrenQueueName",
},
{
name,
data: { idx: 3, foo: "bis" },
queueName: "childrenQueueName",
},
],
});
const { job: topJob } = originalTree;
const tree = await flow.getFlow({
id: topJob.id,
queueName: "topQueueName",
});
const { children, job } = tree;
{% hint style="info" %} Each child may have a job property and in case they have children as well, they would have children property {% endhint %}
You would also may need a way to limit that information if you have many children for one of the job nodes.