Search code examples
mongodbmeteorjenkinscroncron-task

How to make a jenkins call to retrieve the job details every 'X' minutes in meteor?


What I'm up to is to get the jenkins job details and store it in mongo DB every "X" minutes. I have to make an HTTP.call(JenkinsURL) which I know how to do. My problem is calling it for specific intervals.

buildDetails=HTTP.call('GET',buildURL);

buildURL has the Jenkins job URL. I found this link which gives an overview of the code for my problem, but I don't know how and where i should place these code to get it working. I tried all possibility.

Is there any method in meteor which can make this possible to run a specific code to be run for every X min??


Solution

  • Is there any method in meteor which can make this possible to run a specific code to be run for every X min??

    Yes, there is.

    Meteor.setInterval that can be used to do something repetitively every X interval of time.

    You can put your HTTP call within it on the server. Eg:

    Meteor.startup({function(){
    
        var timerID = Meteor.setInterval(function(){
                         buildDetails=HTTP.call('GET',buildURL);
                         // and other things
                         }, 60000) //60000ms = 1 min
                     }
    });
    

    When you want to stop the timer function, simply call Meteor.clearInterval

    Meteor.clearInterval(timerID);