Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
@john-ko/moleculer-crons
Advanced tools
$ npm install @john-ko/moleculer-crons
import { ServiceSchema } from 'moleculer'
import CronMixin, { CronJobSchema } from '@john-ko/moleculer-crons'
const broker = new ServiceBroker()
const schema = {
name: 'cron-test',
mixins: [CronMixin]
crons: {
test: {
cronTime: '* * * * *',
onTick: async function () { // note: use function instead of () => {}
console.log('starting cronjob...')
const total = await this.broker.call('math.add', { a: 1, b: 2})
console.log(total)
},
}
},
}
broker.createService(schema)
broker.start()
const schema = {
name: 'cron-test',
mixins: [CronMixin]
crons: {
namedCronJob: {
// see https://github.com/kelektiv/node-cron#api
/**
* The time to fire off your job. This can be in the
* form of cron syntax, a JS ```Date``` object,
* or a luxon ```DateTime``` object.
*/
cronTime: string | Date | DateTime;
/**
* The function to fire at the specified time. If an
* ```onComplete``` callback was provided, ```onTick```
* will receive it as an argument. ```onTick``` may call
* ```onComplete``` when it has finished its work.
*/
onTick: CronCommand;
/**
* A function that will fire when the job is stopped with
* ```job.stop()```, and may also be called by ```onTick```
* at the end of each run.
*/
onComplete?: CronCommand | null | undefined;
/**
* Specifies whether to start the job just before exiting the constructor.
* By default this is set to false. If left at default you will need
* to call ```job.start()``` in order to start the job
* (assuming ```job``` is the variable you set the cronjob to).
* This does not immediately fire your ```onTick``` function,
* it just gives you more control over the behavior of your jobs.
*/
start?: boolean | undefined;
/**
* Specify the timezone for the execution.
* This will modify the actual time relative to your timezone.
* If the timezone is invalid, an error is thrown.
* Can be any string accepted by luxon's ```DateTime.setZone()```
* (https://moment.github.io/luxon/api-docs/index.html#datetimesetzone).
* Probably don't use both ```timeZone``` and ```utcOffset```
* together or weird things may happen.
*/
timeZone?: string | undefined;
/**
* context is already passed in with `this.broker` so that you have
* access to `this.broker.call` and any other broker methods
*
* to see original usage see https://github.com/kelektiv/node-cron#api
*/
context?: any;
/**
* This will immediately fire your ```onTick``` function
* as soon as the requisit initialization has happened.
* This option is set to ```false``` by default for
* backwards compatibility.
*/
runOnInit?: boolean | undefined;
/**
* This allows you to specify the offset of your timezone
* rather than using the ```timeZone``` param. Probably
* don't use both ```timeZone``` and ```utcOffset```
* together or weird things may happen.
*/
utcOffset?: string | number | undefined;
/**
* If you have code that keeps the event loop running
* and want to stop the node process when that finishes
* regardless of the state of your cronjob, you can do
* so making use of this parameter. This is off by
* default and cron will run as if it needs to control
* the event loop. For more information take a look
* at [timers#timers_timeout_unref](https://nodejs.org/api/timers.html#timers_timeout_unref)
* from the NodeJS docs.
*/
unrefTimeout?: boolean | undefined;
}
}
}
FAQs
moleculer cronjob mixin with es6 imports
The npm package @john-ko/moleculer-crons receives a total of 0 weekly downloads. As such, @john-ko/moleculer-crons popularity was classified as not popular.
We found that @john-ko/moleculer-crons demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.