summaryrefslogtreecommitdiffstats
path: root/packages/wekan-ldap/server/sync.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/wekan-ldap/server/sync.js')
-rw-r--r--packages/wekan-ldap/server/sync.js36
1 files changed, 21 insertions, 15 deletions
diff --git a/packages/wekan-ldap/server/sync.js b/packages/wekan-ldap/server/sync.js
index 141ef349..dd3855d3 100644
--- a/packages/wekan-ldap/server/sync.js
+++ b/packages/wekan-ldap/server/sync.js
@@ -1,4 +1,5 @@
import _ from 'underscore';
+import SyncedCron from 'meteor/percolate:synced-cron';
import LDAP from './ldap';
import { log_debug, log_info, log_warn, log_error } from './logger';
@@ -418,30 +419,35 @@ function sync() {
const jobName = 'LDAP_Sync';
const addCronJob = _.debounce(Meteor.bindEnvironment(function addCronJobDebounced() {
+ let sc=SyncedCron.SyncedCron; //Why ?? something must be wrong in the import
if (LDAP.settings_get('LDAP_BACKGROUND_SYNC') !== true) {
log_info('Disabling LDAP Background Sync');
- if (SyncedCron.nextScheduledAtDate(jobName)) {
- SyncedCron.remove(jobName);
+ if (sc.nextScheduledAtDate(jobName)) {
+ sc.remove(jobName);
}
return;
}
- if (LDAP.settings_get('LDAP_BACKGROUND_SYNC_INTERVAL')) {
- log_info('Enabling LDAP Background Sync');
- SyncedCron.add({
- name: jobName,
- schedule: (parser) => parser.text(LDAP.settings_get('LDAP_BACKGROUND_SYNC_INTERVAL')),
- job() {
- sync();
- },
- });
- SyncedCron.start();
- }
+ log_info('Enabling LDAP Background Sync');
+ sc.add({
+ name: jobName,
+ schedule: function(parser) {
+ if (LDAP.settings_get('LDAP_BACKGROUND_SYNC_INTERVAL')) {
+ return parser.text(LDAP.settings_get('LDAP_BACKGROUND_SYNC_INTERVAL'));
+ }
+ else {
+ return parser.recur().on(0).minute();
+ }},
+ job: function() {
+ sync();
+ },
+ });
+ sc.start();
+
}), 500);
Meteor.startup(() => {
Meteor.defer(() => {
- LDAP.settings_get('LDAP_BACKGROUND_SYNC', addCronJob);
- LDAP.settings_get('LDAP_BACKGROUND_SYNC_INTERVAL', addCronJob);
+ if(LDAP.settings_get('LDAP_BACKGROUND_SYNC')){addCronJob();}
});
});