My Linux Job Scheduler RPMs
This page is specifically to provide RPMs for RHEL based systems.
The full job scheduler description and availablility of source files is on the Job Scheduler page itself should you wish to download and compile for other distributions that have a GCC compiler. I have in the past sucessfully compiled and run this on Fedora, CentOS and Solaris.
It should be noted I do not follow the Fedora packaging guidelines here. I do not include debugging links to waste space in /usr/lib/.build-id (which was changed to be a default in F27/rhel8 onward so if users of rhel systems start getting errors about node/link unavailablilty/shortages that change is why) and I do install the product under /opt where it belongs.
The Job Scheduler RPMS
- marks-job-scheduler (required) - the job scheduler itself
- marks-job-scheduler-http (optional) - a perl-cgi operator interface to run under a webserver, can monitor multiple servers (monitor only, can run/cancel jobs but no database update access). It does require an 'apache' user defined with operator authority to each scheduler so the cgi scripts can connect to issue commands (done by the rpm install if a scheduler is running on the server the rpm is installed onto, but on all other remote servers you will have to do it manually)
- marks-job-scheduler-jetty (optional... see updates below, don't use the rpm) - a J2EE interface to run under Jetty, can fully manage multiple servers and destroy, er I mean update databases on multiple machines at a time; a full admin interface [if your userid/password is identical on all servers of course]. This also has a lot less monitoring overhead than the perl-cgi interface as it keeps connections open rather than a new connection being opened for every request from the perl cgi interface. This installs into Jetty directories so requires (and will install) Jetty. If you wish to use another engine do not install this RPM but download the interface from github and copy it under your enginmes webapps directory
Important updates
On Fedora 31 'dnf install jetty' fails with missing dependencies (Problem: package
jetty-9.4.19-2.v20190610.fc31.noarch requires jetty-spring = 9.4.19-2.v20190610.fc31, but none of the providers
can be installed). CentOS8
does not have Jetty available in its repos at all.
So for RHEL systems it has to be manually installed from
https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.4.29.v20200521/jetty-distribution-9.4.29.v20200521.tar.gz
(em>check for the latest version of course).
The supplied RPM marks-job-scheduler-jetty has a dependancy on the Jetty package as it wants to place the files into the Jetty application directory path /var/lib/jetty/webapps. As Jetty is not available in a working form on RHEL based systems the RPM cannot be used; if you want to use the J2EE interface you will need to download it from github and copy it into the webapps directory of the server you use. Note: I still recommend Jetty, it has a much smaller memory/cpu footprint than alternatives like Tomcat.
The RPMs are only in my repo now
I decided that having links on this page that referenced the RPM files directly was a bit
pointless, especially as I had to update the links in the page for every new version.
If you wish to manually download the RPMs without defining my repository you can
selectively download them from my repository.
Note: el8 RPMs are not currently up-to-date as I don't have a dedicated el8 build server anymore.
That is not a priority for me as I am moving away from RHEL based systems.
Or if you want to install any of these the easy way, by simply using 'dnf' and letting dnf resolve any package dependencies from other repos, simply add a dnf repo configuration for this source as below and so a normal 'dnf install' of the packages you want.
Fedora
cat << EOF > /etc/yum.repos.d/dickinson.repo [dickinson] name=Mark Dickinson Fedora $releasever packages baseurl=http://mdickinson.dyndns.org/repo/fedora/$releasever/$basearch enabled=1 metadata_expire=21d repo_gpgcheck=0 type=rpm gpgcheck=0 skip_if_unavailable=True EOF
CentOS8 or Rocky
cat << EOF > /etc/yum.repos.d/dickinson.repo [dickinson] name=Mark Dickinson EL $releasever packages baseurl=http://mdickinson.dyndns.org/repo/el/$releasever/$basearch enabled=1 metadata_expire=21d repo_gpgcheck=0 type=rpm gpgcheck=0 skip_if_unavailable=True EOF