4.7.9.2. Using Jenkins with Anatella

<< Click to Display Table of Contents >>

Navigation:  4. How to use Anatella? > 4.7. Batch Execution / Anatella command-line > 4.7.9. Running many Anatella graphs at regular interval >

4.7.9.2. Using Jenkins with Anatella

 

The advantages of Jenkins over the simpler “Microsoft Windows Task Scheduler” are:
 

Jenkins has a web interface. This simplifies a lot the administration of the jobs to run.

For example: a specific user can consult the web interface to see if its own jobs executed properly and then he can ask to re-run the failed jobs with one mouse click inside the web interface.
 

Jenkins can transparently manage a fleet of many computers (i.e. it manages many “nodes” in technical terms). When Jenkins needs to run a job, Jenkins can easily connect to an “idle” node and run the required job there (in technical term, this is called “distributed computation”). This gives to the final user/company a tremendous computing power: There are actually no limits to the delivered computing power: if you need more computing, simply add some more “nodes”.
 

The integration between Anatella and Jenkins has now been thoroughly tested for all the common tasks, such as jobs scheduling (see section 4.7.9.2.2.).

Thanks to Jenkins, Anatella can also perform much more complex tasks such as running “on-demand” a large quantity of graphs (i.e. “on-demand, near real-time” distributed computation). For more information about this suject, see the sections 5.21.1., 5.21.2. and 5.21.3. (about the ANATEL~1_img175 loopJenkins action, the ANATEL~1_img176 waitJenkins action and the ANATEL~1_img177 queryJenkins action).
 

Jenkins automatically saves the execution traces (i.e. the execution logs) of all the jobs that it executes. This allow backtracking at a specific date to see if everything executed as planned (typically, for debugging purposes).
 

With Jenkins, you can define different users: Each user has its own set of rights.

Specific users can see & execute specific jobs.

This allows for everybody in your company to closely & easily track the execution of their own jobs without jeopardizing the security of other, more sensitive, jobs.
 

Jenkins delivers some statistics about the number of successful & failed jobs over the last hours or days. These statistics &kpi’s are displayed inside a nice graphical interface that allow easy tracking of the “sanity” of the scheduled jobs.
 

Jenkins manages in a more intelligent way your ressources. For example, it can happen that several “heavy-workload-jobs” are scheduled to run at the same hour. When this situation happens, the “Microsoft Windows Task Scheduler” will simply runs all these “heavy-workload-jobs” simultaneously. This can lead to a complete crash of the scheduled jobs (e.g. when there aren’t enough RAM memory avaible to properly execute the jobs). This won’t happen with Jenkins: Jenkins automatically limits the number of jobs that are simultaneously executed.
 

As all scheduler, Jenkins can run jobs at regular intervals (e.g. every week on Monday & Wednesday at 01:00 am) but Jenkins can also trigger the execution of jobs for many other reasons: For example: Jenkins can run a job when a specific file arrives, when a connection to a specific web-service occurs, when an email is received,etc. In the Jenkins vocabulary, these are named “build triggers”. There are currently more than 60 different “build triggers” inside Jenkins plugins. A list of all “build triggers” is visible here:

https://wiki.jenkins-ci.org/display/JENKINS/Plugins#Plugins-Buildtriggers
 

There are currently 1118 plugins inside Jenkins. Amongst these “plugins”, you’ll find different “build triggers” and many other things. A list of all plugins is here:

https://wiki.jenkins-ci.org/display/JENKINS/Plugins
 

Jenkins is a well-known scheduler (also named “continuous integration software”): If you want more information about Jenkins, you can consult the book named “Jenkins: The Definitive Guide” published by O’Reilly:

 

ANATEL~1_img178