Skip to end of metadata
Go to start of metadata

Target Audience

  • The following instructions apply to users who want to make use of the JobScheduler API Interface in their Perl scripts.
    • The Perl support of the JobScheduler engine should be configured for the Perl release that is operated in your environment.

    • Currently JobScheduler comes with support for Perl release 5.18.2 (http://www.sos-berlin.com/jira/browse/JS-1096).

  • Perl support for the JobScheduler API is not required if you just wanted to run existing Perl scripts with JobScheduler. In that case Perl scripts are executed in the same way as any shell scripts, see How can I create a simple shell job? 

Prerequisites on Linux

The JobScheduler needs a library ./lib/libsosperlscript.<perl-version>.so that is included in the setup.

Since JobScheduler release 1.6.4043 the library ./lib/libsosperlscript.5.18.2.so is included that is compiled with Perl 5.18.2.

This library works with Perl versions 5.12.x, 5.14.x, 5.16.x too.

32Bit JobScheduler

  1. You have to install a 32Bit Perl or a 64Bit Perl
  2. Create 2 symlinks in the ./lib directory of the JobScheduler installation
    1. The first symlink with the name libperl.so has to point to the 32Bit Perl interpreter libperl.so of the Perl installation
    2. The second symlink with the name libsosperlscript.so has to point to the ./lib/libsosperlscript.<perl-version>.so.

In the ./lib directory of the JobScheduler installation you will find the following libsosperlscript.<perl-version>.so.

  • libsosperlscript.5.18.2.so
  • libsosperlscript.5.14.0.so (deprecated)
  • libsosperlscript.5.12.0.so (deprecated)
  • libsosperlscript.5.10.0.so (deprecated)
  • libsosperlscript.5.8.8.so (deprecated)

For example, assumed that you have a Perl installation with version 5.12.3 and the 32Bit libraries are located in /usr/lib/perl5.
Then navigate to the ./lib directory of the JobScheduler installation and create the following symlinks:

Since JobScheduler Release 1.6.4043 you have to make the second symlink point to libsosperlscript.5.18.2.so.

Otherwise you will receive an error like

64Bit JobScheduler

  1. You have to install a 64Bit Perl
  2. Create 2 symlinks in the ./lib directory of the JobScheduler installation
    1. The first symlink with the name libperl.so has to point to the 64Bit Perl interpreter libperl.so of the Perl installation
    2. The second symlink with the name libsosperlscript.so has to point to the ./lib/libsosperlscript.<perl-version>.so.

In the ./lib directory of the JobScheduler installation you will find the following libsosperlscript.<perl-version>.so.

  • libsosperlscript.5.18.2.so
  • libsosperlscript.5.8.8.so (deprecated)

For example you have a Perl installation with version 5.12.3 and the 64Bit libraries are located in /usr/lib/perl5.
Then navigate to the ./lib directory of the JobScheduler installation and create the following symlinks:

Set $PERL5LIB

The libsosperlscript.<perl-version>.so library sets the @INC variable from the environment where libsosperlscript.<perl-version>.so was compiled.
This could be different from your own Perl environment. In such cases you can use

to get the content of @INC of your own Perl environment.

JobScheduler (e.g. for libsosperlscript.5.18.2.so) comes with the following content of @INC

You can test it with a JobScheduler job like

You have to set the PERL5LIB environment variable for the JobScheduler if the @INC environment variable shows some different content.
For this edit the ./user_bin/jobscheduler_environment_varibales.sh with

See the article How to add environment variables for all jobs for more information how you change the environment of the JobScheduler.

Prerequisites on Windows

You have to install an current ActivePerl with 32Bit or 64Bit as for the JobScheduler release.

Job Example

Now you can test the JobScheduler Perl- PI with e.g. the following job:

For more information about the JobScheduler API see http://www.sos-berlin.com/doc/en/scheduler.doc/api/api-perl.xml