Балерина: время простоя сработало перед началом входящего ответа - PullRequest
0 голосов
/ 04 октября 2018

Я выполняю назначение Задачи в проекте балерины, который выполняется каждые 10 минут.Он работает нормально примерно час, но когда время выполнения достигает 2 часов, это выдает ошибку.Ниже приведен журнал ошибок.

2018-10-04 12:00:00,002 INFO - Scanning the Github repository
2018-10-04 12:01:00,008 ERROR - Idle timeout triggered before initiating inbound response : {message:"Idle timeout triggered before initiating inbound response", cause:null, statusCode:0}

Кажется, что время простоя составляет 1 минуту из журнала ошибок.

Вот код программы.

public function main(string... args) {

        log:printInfo("------ Scheduling Appointments --------------");   

        (function() returns error?) onTriggerFunction = gitHubTaskExecute;
        (function(error)) onErrorFunction = gitGubTaskError;

        gitGubTask = new task:Appointment(onTriggerFunction, 
                                            onErrorFunction, 
                                            "0 30 1 * * ?");

        gitGubTask.schedule();
    }
}

@Description { value:"Execute the Github repository scanning task"}
function gitHubTaskExecute() returns (error?) {
    log:printInfo("Scanning the Github repository : " + repository);
    executedTaskCount = executedTaskCount + 1;
    if (executedTaskCount == 100) {
        log:printInfo("Stopping Appointment#1 cleanup task since it
                       has run 100 times");

        gitGubTask.cancel();
    }
    return cleanup();
}

@Description { value:"Execute the task cleanup"}
function cleanup() returns (error?) {
    //Call function here

    return ();
}

ЛюбойИдея, что вызывает эту ошибку?Я хочу реализовать задачу, которая должна выполняться ежедневно.

1 Ответ

0 голосов
/ 04 октября 2018

Обратите внимание, что IdleTimeout срабатывает, когда соединение простаивает дольше указанного периода.Затем сервер / клиент закроет соединение с соответствующим ответом.Вы можете установить его на >= 0, если хотите отключить его.

Пример конечной точки клиента:

endpoint http:Client clientEndpoint {
    url: "http://localhost:9090",
    timeoutMillis: 300000
};

Существует конфигурация под названием timeoutInMillis в конечных точках клиента и сервера http,Вы можете увеличить это значение, если это требование.

...