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.
agenda-rest
Advanced tools
Scheduling as a Service, based on Agenda
Assuming all job types could be thought of as REST endpoints, scheduling could be offered as a service. agenda-rest
does just that, introduce a URL, name it, agenda-rest will call it on the times that you specify.
Install agenda-rest as a global package
npm install -g agenda-rest
To launch the agenda-rest server, use the command line interface specifying the database host name and the database name
agenda-rest --dbhost localhost --dbname agenda
Options | Description |
---|---|
-d, --dbname | [optional] Name of the Mongo database, default is agenda |
-h, --dbhost | [optional] Mongo instance's IP or domain name, default is localhost |
-u, --dburi | [optional] Full Mongo connection string. If specified, will override --dbhost, --dbname |
-p, --port | [optional] agenda-rest server port, default is 4040 |
-k, --key | [optional] x-api-key to be expected in headers. If not specified, access to agenda-rest server would be unauthenticated |
-t, --timeout | [optional] Timeout for request duration, default is 5000 ms |
-a, --agenda_settings | [optional] A JSON string containing additional agenda settings. For example '{ "processEvery": "30 seconds" }' |
API Documentation (Postman Generated) available at https://explore.postman.com/templates/4883/agenda-rest
/api/job
Get a list of defined jobs
/api/job
Defines a new category of jobs
{
name, // New job type's name
url, // koa-router style url
method, // (optional) Request type, default: POST
callback: { // (optional) to call with response after invocation
url,
method,
headers
}
}
/api/job/:jobName
Updates definition of a job category
/api/job
/api/job/:jobName
Deletes job definition and cancels occurrences
/api/job/once
& POST /api/job/every
Schedule a job for single or multiple occurrences
{
name, // Name of the type to create the instance from
interval, // Interval in which job should be invoked (human-interval, can also be a date string for 'once')
data: { // (optional) default: {}
headers, // Http headers, e.g. { Authorization: '<token>' }
params, // An object i.e. { param1: 'value1' } used to replace path parameters `http://mydommain.com:3333/test/:param1` => `http://mydommain.com:3333/test/value1` notations in the job definition's url.
query, // An object i.e. { foo: 'bar', baz: 'qux' } used to create query parameters (http://mydommain.com:3333/test/value1?foo=bar&baz=qux)
body // Accompanying data sent along the request
},
options: { // (optional) Enables passing options to the `every` method in agenda as documented [here](https://github.com/agenda/agenda#repeateveryinterval-options)
timezone, // Specify the job execution timezone.
skipImmediate // Don't execute job immidiatly default is `false`.
}
}
Callback, if present, would be invoked by the following object:
{
data: {
// passed data object, same as above
},
response // response from invocation
}
/api/job/now
Like once
and every
, though without interval
. Executes the job now.
/api/job/cancel
Cancels (not to be confused with 'delete') any jobs matching the query
{
name: "foo"
}
FAQs
Scheduling as a Service
The npm package agenda-rest receives a total of 152 weekly downloads. As such, agenda-rest popularity was classified as not popular.
We found that agenda-rest demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers 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.