Балерина форк / пример соединения
У кого-то есть рабочий пример форка / соединения, потому что я получаю балерину: неожиданная ошибка возникала каждый раз, когда я пытаюсь что-то с ней сделать.
Спасибо,
Хуан Пабло
1 ответ
Решение
Ниже приведен пример рабочего соединения. Пожалуйста, попробуйте это с помощью 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;
}
}
Вот источник вышеуказанного кода. https://github.com/ballerinalang/ballerina/blob/007127a62c20e69eb9707c19cd82fbec8056a04a/modules/ballerina-native/src/test/resources/samples/fork-join-in-function.bal#L6-L6
Пожалуйста, оставьте свой код для нас, чтобы увидеть, что не так.