Commit fb5768f6 authored by Tristan Cavelier's avatar Tristan Cavelier

jio.js updated

parent d7746222
...@@ -436,6 +436,24 @@ defaults.job_rule_conditions = {}; ...@@ -436,6 +436,24 @@ defaults.job_rule_conditions = {};
return a.kwargs._id === b.kwargs._id; return a.kwargs._id === b.kwargs._id;
} }
/**
* Test if the jobs have a document id.
*
* @param {Object} a The first job to test
* @param {Object} b The second job to test
* @return {Boolean} True if ids exist, else false
*/
function haveDocumentIds(a, b) {
console.log(JSON.stringify(a.kwargs), JSON.stringify(b.kwargs));
if (typeof a.kwargs._id !== "string" || a.kwargs._id === "") {
return false;
}
if (typeof b.kwargs._id !== "string" || b.kwargs._id === "") {
return false;
}
return true;
}
/** /**
* Compare two jobs and test if their kwargs are equal * Compare two jobs and test if their kwargs are equal
* *
...@@ -467,7 +485,8 @@ defaults.job_rule_conditions = {}; ...@@ -467,7 +485,8 @@ defaults.job_rule_conditions = {};
"sameMethod": sameMethod, "sameMethod": sameMethod,
"sameDocumentId": sameDocumentId, "sameDocumentId": sameDocumentId,
"sameParameters": sameParameters, "sameParameters": sameParameters,
"sameOptions": sameOptions "sameOptions": sameOptions,
"haveDocumentIds": haveDocumentIds
}; };
}()); }());
...@@ -1595,8 +1614,8 @@ LocalStorageArray.saveArray = function (namespace, list) { ...@@ -1595,8 +1614,8 @@ LocalStorageArray.saveArray = function (namespace, list) {
*/ */
function Metadata(metadata) { function Metadata(metadata) {
if (arguments.length > 0) { if (arguments.length > 0) {
if (typeof metadata !== 'object' || if (metadata === null || typeof metadata !== 'object' ||
Object.getPrototypeOf(metadata || []) !== Object.prototype) { Array.isArray(metadata)) {
throw new TypeError("Metadata(): Optional argument 1 is not an object"); throw new TypeError("Metadata(): Optional argument 1 is not an object");
} }
this._dict = metadata; this._dict = metadata;
...@@ -2485,6 +2504,7 @@ function enableJobChecker(jio, shared, options) { ...@@ -2485,6 +2504,7 @@ function enableJobChecker(jio, shared, options) {
"sameStorageDescription", "sameStorageDescription",
"areWriters", "areWriters",
"sameMethod", "sameMethod",
"haveDocumentIds",
"sameParameters" "sameParameters"
], ],
"action": "update" "action": "update"
...@@ -2493,6 +2513,7 @@ function enableJobChecker(jio, shared, options) { ...@@ -2493,6 +2513,7 @@ function enableJobChecker(jio, shared, options) {
"conditions": [ "conditions": [
"sameStorageDescription", "sameStorageDescription",
"areWriters", "areWriters",
"haveDocumentIds",
"sameDocumentId" "sameDocumentId"
], ],
"action": "wait" "action": "wait"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment