com.taboola:taboola-cronyx

Job scheduling framework

License

License

GroupId

GroupId

com.taboola
ArtifactId

ArtifactId

taboola-cronyx
Last Version

Last Version

1.0-RELEASE
Release Date

Release Date

Type

Type

jar
Description

Description

Job scheduling framework
Source Code Management

Source Code Management

http://github.com/taboola/taboola-cronyx/tree/master/taboola-cronyx

Download taboola-cronyx

How to add to project

<!-- https://jarcasting.com/artifacts/com.taboola/taboola-cronyx/ -->
<dependency>
    <groupId>com.taboola</groupId>
    <artifactId>taboola-cronyx</artifactId>
    <version>1.0-RELEASE</version>
</dependency>
// https://jarcasting.com/artifacts/com.taboola/taboola-cronyx/
implementation 'com.taboola:taboola-cronyx:1.0-RELEASE'
// https://jarcasting.com/artifacts/com.taboola/taboola-cronyx/
implementation ("com.taboola:taboola-cronyx:1.0-RELEASE")
'com.taboola:taboola-cronyx:jar:1.0-RELEASE'
<dependency org="com.taboola" name="taboola-cronyx" rev="1.0-RELEASE">
  <artifact name="taboola-cronyx" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.taboola', module='taboola-cronyx', version='1.0-RELEASE')
)
libraryDependencies += "com.taboola" % "taboola-cronyx" % "1.0-RELEASE"
[com.taboola/taboola-cronyx "1.0-RELEASE"]

Dependencies

compile (17)

Group / Artifact Type Version
com.taboola : taboola-cronyx-api jar 1.0-RELEASE
org.springframework : spring-tx jar 4.3.5.RELEASE
org.springframework : spring-webmvc jar 4.3.5.RELEASE
org.springframework : spring-context-support jar 4.3.5.RELEASE
org.springframework : spring-jdbc jar 4.3.5.RELEASE
org.springframework.boot : spring-boot-starter jar 1.4.3.RELEASE
org.springframework.boot : spring-boot-starter-remote-shell jar 1.4.3.RELEASE
org.springframework.boot : spring-boot-starter-web jar 1.4.3.RELEASE
org.quartz-scheduler : quartz jar 2.2.2
org.quartz-scheduler : quartz-jobs jar 2.2.2
jline : jline jar 2.12.1
org.apache.commons : commons-lang3 jar 3.4
org.slf4j : slf4j-api jar 1.7.13
org.slf4j : jcl-over-slf4j jar 1.7.13
io.dropwizard.metrics : metrics-core jar 3.1.2
net.sf.jgrapht : jgrapht jar 0.8.3
org.apache.sshd : sshd-core jar 0.14.0

test (9)

Group / Artifact Type Version
org.apache.tomcat.embed : tomcat-embed-logging-log4j jar 8.0.32
cglib : cglib-nodep jar 3.2.0
com.h2database : h2 jar 1.4.191
org.spockframework : spock-core jar 1.1-groovy-2.4-rc-3
org.spockframework : spock-spring jar 1.1-groovy-2.4-rc-3
org.springframework.boot : spring-boot-starter-test jar 1.4.3.RELEASE
org.springframework : spring-test jar 4.3.5.RELEASE
junit : junit jar 4.12
org.codehaus.groovy : groovy-all jar 1.6-beta-2

Project Modules

There are no modules declared in this project.

taboola-cronyx - Job scheduling framework

this framwork is used in taboola, its a Job scheduling framework that is based on quartz and spring. its main advantages are:

  • easy and quick start.
  • rest api support.
  • manage your triggers through easy to use cli shell.
  • extended quartz capabilities / features. e.g - chain triggers (fan-in support), history of each execution, auto retry, and more.

**Requires JDK 1.8 or higher

how do you run it? to make it easy - we included an example of a service based on spring-boot(under taboola-cronyx-server-exmaple). to run it execute the CronyxService main class. then ssh into the shell by running ssh user@localhost -p 2000, password pass. in the shell you have different commands to manage your jobs / triggers just write "job -h" or "trigger -h" and see all the different options. e.g - execute a trigger by running - trigger now -n <triggerGroup.triggerName> <jobGroup.jobName>

how do i add a job? just follow the helloWorld example - add a class under the job bundle package with the @job annotation , give it a group and a name - e.g @Job(group = "example", name = "HelloWorld") , and add a method with @JobMethod annotation.

how do i add a cron trigger? ssh into the shell and run - trigger cron <triggerGroup.triggerName> <jobGroup.jobName> "", e.g trigger cron example.runEveryMinute example.HelloWorld "0 0/1 * 1/1 * ? *"

how do i run commands through the rest api? you can open your browser and write - localhost:8080/triggers/all - this will give you a list of all the triggers. if you want to create a trigger you can do it with curl: curl -f -s -H 'Content-Type: application/json' -X POST localhost:8080/triggers/new --data '{"triggerKey":{"group":"example","name":"HelloWorld22"}, "jobKey":{"group":"example","name":"HelloWorld"},"misfireInstruction":"FIRE_ONCE","cronExpression":"0 0/1 * 1/1 * ? *"}'

Be sure to go over taboola-cronyx-api and see all the annontations that we have.

Your Improvements

If you add improvements to taboola-cronyx please send them to us as pull requests on github. We will add them to the next release so that everyone can enjoy them. You might also benefit from it: others may fix bugs in your source files or may continue to enhance them.

com.taboola

taboola

Versions

Version
1.0-RELEASE