Socket
Socket
Sign inDemoInstall

jsreport-scheduling

Package Overview
Dependencies
6
Maintainers
1
Versions
32
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.2.0 to 0.3.0

53

lib/jobProcessor.js
var CronTime = require('cron').CronTime
var _ = require('underscore')
var q = require('q')
var domain = require('domain')

@@ -18,3 +17,5 @@ var JobProcessor = module.exports = function (executionHandler, documentStore, logger, TaskType, options) {

options.now = options.now || function () { return new Date() }
options.now = options.now || function () {
return new Date()
}
}

@@ -70,36 +71,26 @@

var d = domain.create()
return self._pingRunningTasks().then(function () {
if (self.currentlyRunningTasks.length >= self.options.maxParallelJobs) {
return
}
var defer = q.defer()
return self._findTasksToRecover().then(function (tasks) {
var promise = q.all(tasks.map(function (task) {
self.logger.info('Recovering task ' + task.schedule.name)
return self.processOne(task.schedule, task)
}))
return options.waitForJobToFinish ? promise : q()
}).then(function () {
return self.documentStore.collection('schedules').find(self._schedulesToProcessFilter()).then(function (schedules) {
var promise = q.all(schedules.map(function (s) {
return self.processOne(s, null)
}))
d.run(function () {
self._pingRunningTasks().then(function () {
if (self.currentlyRunningTasks.length >= self.options.maxParallelJobs) {
return
}
return self._findTasksToRecover().then(function (tasks) {
var promise = q.all(tasks.map(function (task) {
self.logger.info('Recovering task ' + task.schedule.name)
return self.processOne(task.schedule, task)
}))
return options.waitForJobToFinish ? promise : q()
}).then(function () {
return self.documentStore.collection('schedules').find(self._schedulesToProcessFilter()).then(function (schedules) {
var promise = q.all(schedules.map(function (s) {
return self.processOne(s, null)
}))
return options.waitForJobToFinish ? promise : q()
})
})
}).then(function () {
defer.resolve()
}).catch(function (e) {
self.logger.error('unable to load planned schedules ' + e.stack)
defer.fail(e)
})
}).catch(function (e) {
self.logger.error('unable to load planned schedules ' + e.stack)
throw e
})
return defer.promise
}

@@ -168,3 +159,3 @@

$set: {
state: 'error',
state: e.canceled ? 'canceled' : 'error',
error: e.stack,

@@ -171,0 +162,0 @@ finishDate: self.options.now()

{
"name": "jsreport-scheduling",
"version": "0.2.0",
"version": "0.3.0",
"description": "jsreport extension for scheduling background rendering jobs",
"scripts": {
"test": "mocha test && standard",
"test": "mocha test --timeout=5000 && standard",
"prepublish": "node node_modules/jsreport-express/tools/optimize.js"

@@ -8,0 +8,0 @@ },

@@ -225,3 +225,3 @@ define('scheduling.tasks.model',["app", "backbone", "core/dataGrid"], function (app, Backbone, DataGrid) {

initialize: function () {
$(document).on('keydown.data-detail', this.hotkey.bind(this));
$(document).on('keydown.schedule-detail', this.hotkey.bind(this));
},

@@ -228,0 +228,0 @@

@@ -7,3 +7,3 @@ define(["jquery", "app", "core/utils", "core/view.base"],

initialize: function () {
$(document).on('keydown.data-detail', this.hotkey.bind(this));
$(document).on('keydown.schedule-detail', this.hotkey.bind(this));
},

@@ -10,0 +10,0 @@

@@ -5,3 +5,2 @@ require('should')

var JobProcessor = require('../lib/jobProcessor')
var domain = require('domain')
var Reporter = require('jsreport-core').Reporter

@@ -18,4 +17,2 @@

reporter.init().then(function () {
process.domain = process.domain || domain.create()
process.domain.req = {}
done()

@@ -22,0 +19,0 @@ }).fail(done)

require('should')
var path = require('path')
var domain = require('domain')
var Reporter = require('jsreport-core').Reporter

@@ -15,4 +14,2 @@

reporter.init().then(function () {
process.domain = process.domain || domain.create()
process.domain.req = {}
done()

@@ -19,0 +16,0 @@ }).fail(done)

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc