This repository has been archived by the owner on Aug 1, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 31
api jobs
Bozhidar Nikolov edited this page Oct 6, 2021
·
3 revisions
Represents an XS scheduled job
- SAP Help
https://help.sap.com/doc/3de842783af24336b6305a3c0223a369/2.0.03/en-US/$.jobs.Job.html
- Module
https://github.com/SAP/xsk/tree/main/modules/api/api-xsjs/src/main/resources/xsk/jobs
- Sample usage:
Create a definition.xsjob
file:
{
"description": "My Job configuration",
"action": "xsjob_demo:handler.xsjslib::writeInDB",
"schedules": [
{
"description": "Execute every 5 seconds",
"xscron": "* * * * * * */5",
"parameter": {
}
}
]
}
Create a handler.xsjslib
file:
function writeInDB() {
var connection;
try {
connection = $.db.getConnection();
var insertStatement = connection.prepareStatement("INSERT INTO XSJOB_DEMO (EXECUTED_AT) VALUES (CURRENT_TIMESTAMP)");
insertStatement.executeUpdate();
insertStatement.close();
} catch(e) {
connection.rollback();
console.log("Transaction was rolled back: " + e.message);
} finally {
connection.close();
}
}
And now, to use the API, create a .xsjs
file:
var job = new $.jobs.Job({ uri: "xsjob_demo/definition.xsjob" });
// execute the job for 60 seconds, starting from now
job.configure({ status: true, start_time: new Date(), end_time: new Date(Date.now() + 60000) });
- Coverage
Methods | Description | Status |
---|---|---|
activate() | Activates an XS Job that has already been configured. | ✅ |
configure(config) | Configure an XS Job. The function provides additional means to programmatically configure an XS Job. Configuration must be done prior to activate/deactivate an XS Job. | ✅ |
deactivate() | Deactivates an XS Job that has already been configured. | ✅ |
getConfiguration() | Retrieve current configuration of an XS Job as object. | ✅ |
- Issues
-
Unit Tests ❌
-
Integration Tests ❌
✅ - Feature implemented and working as supposed.
❌ - Feature not implemented yet.