有人有一个fork / join的工作示例,因为我收到了 芭蕾舞女演员:发生意外错误 每次我尝试用它做点什么。
谢谢,
Juan Pablo
答案 0 :(得分:3)
以下是一个有效的fork-join示例。请使用ballerina run main forkjoin.bal
进行尝试。您可以使用您的文件名替换forkjoin.bal。
import ballerina.lang.system;
import ballerina.lang.messages;
function main(string[] args) {
message m = {};
testForkJoinAll(m);
}
function testForkJoinAll(message m)(message[]) {
message[] results;
json error;
system:println("Airfare ");
fork (m) {
worker ABC_Airline (message m) {
json payload;
payload = `{"name":"abc"}`;
messages:setJsonPayload(m, payload);
reply m;
}
worker XYZ_Airline (message m) {
json payload;
payload = `{"name":"xyz"}`;
messages:setJsonPayload(m, payload);
reply m;
}
} join (all) (message[] airlineResponses) {
system:println(messages:getStringPayload(airlineResponses[0]));
system:println(messages:getStringPayload(airlineResponses[1]));
return airlineResponses;
} timeout (30000) (message[] airlineResponses) {
system:println("error occurred");
error = `{"error":{"code":"500", "reason":"timed out"}}`;
message res = {};
messages:setJsonPayload(res, error);
results[0] = m;
return results;
}
}
请为我们发布您的代码,看看有什么不对。