Балерина форк / пример соединения

У кого-то есть рабочий пример форка / соединения, потому что я получаю балерину: неожиданная ошибка возникала каждый раз, когда я пытаюсь что-то с ней сделать.

Спасибо,

Хуан Пабло

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

Пожалуйста, оставьте свой код для нас, чтобы увидеть, что не так.

Другие вопросы по тегам