New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@forrestjs/service-fetchq-task

Package Overview
Dependencies
Maintainers
1
Versions
57
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@forrestjs/service-fetchq-task - npm Package Compare versions

Comparing version 4.7.0 to 4.7.1-alpha.0

src/on-fetchq-register-queue.js

6

package.json
{
"name": "@forrestjs/service-fetchq-task",
"description": "Simple API to run singleton tasks over a Fetchq queue.",
"version": "4.7.0",
"version": "4.7.1-alpha.0",
"author": "Marco Pegoraro <marco.pegoraro@gmail.com",

@@ -11,3 +11,3 @@ "main": "src/index",

"dependencies": {
"@forrestjs/core": "^4.7.0"
"@forrestjs/core": "^4.7.1-alpha.0"
},

@@ -30,3 +30,3 @@ "homepage": "https://github.com/forrestjs/forrestjs/tree/master/packages/service-fetchq-task#readme",

},
"gitHead": "7ad3fe461a8a626999eacb83412133b02683e4d2"
"gitHead": "16934bd5414fc0622128c7907125a4fc343489ae"
}
# Fetchq Task
Let you add singleton tasks to a Fetchq queue.
> 👉 _Each task gets executed by one single worker at the time, no matter the horizontal scalability of the queue._
>
> You keep scaling the associated workers as so to run different tasks in parallel.
This is suitable for running stuff akin to a _CRON Job_.
## Configuration
```js
forrest.run({
settings: {
fetchq: {
task: {
// Register tasks at config time:
// (see "Add Tasks" paragraph for details)
register: [
{
subject: 'foobar',
handler: (doc) => doc.reschedule('+1m')
}
],
queue: {
// Customize the queue name:
name: 'foobar',
// Fine tune the queue performances:
// https://github.com/fetchq/node-client#queues-configuration
settings: {}
},
worker: {
// Fine tune the worker performances:
// https://github.com/fetchq/node-client#workers-configuration
settings: {}
}
}
}
}
})
```
## Add Tasks
As configuration:

@@ -4,0 +50,0 @@

@@ -1,8 +0,9 @@

const onInitService = require("./on-init-service");
const onFetchqReady = require("./on-fetchq-ready");
const taskWorker = require("./task-worker");
const onInitService = require('./on-init-service');
const onFetchqReady = require('./on-fetchq-ready');
const onFetchqRegisterQueue = require('./on-fetchq-register-queue');
const onFetchqRegisterWorker = require('./on-fetchq-register-worker');
const fetchqTask = ({ registerTargets }) => {
registerTargets({
FETCHQ_REGISTER_TASK: "fetchq/task/register"
FETCHQ_REGISTER_TASK: 'fetchq/task/register',
});

@@ -12,22 +13,17 @@

{
target: "$INIT_SERVICE",
handler: onInitService
target: '$INIT_SERVICE',
handler: onInitService,
},
{
target: "$FETCHQ_REGISTER_QUEUE",
handler: {
name: "task"
}
target: '$FETCHQ_REGISTER_QUEUE',
handler: onFetchqRegisterQueue,
},
{
target: "$FETCHQ_READY",
handler: onFetchqReady
target: '$FETCHQ_READY',
handler: onFetchqReady,
},
{
target: "$FETCHQ_REGISTER_WORKER",
handler: {
queue: "task",
handler: taskWorker
}
}
target: '$FETCHQ_REGISTER_WORKER',
handler: onFetchqRegisterWorker,
},
];

@@ -34,0 +30,0 @@ };

@@ -9,7 +9,11 @@ /**

module.exports = ({ createExtension, getConfig, setContext }) => {
const queueName = getConfig('fetchq.task.queue.name', 'task');
const queueSettings = getConfig('fetchq.task.queue.settings', {});
const workerSettings = getConfig('fetchq.task.worker.settings', {});
const registerTasks = [
// Collect from App configuration
...getConfig("fetchq.task.register", []),
...getConfig('fetchq.task.register', []),
// Collect from other extensions
...createExtension.sync("$FETCHQ_REGISTER_TASK").map(($) => $[0])
...createExtension.sync('$FETCHQ_REGISTER_TASK').map(($) => $[0]),
];

@@ -24,3 +28,8 @@

setContext("fetchq.task.register", registerTasks);
setContext('fetchq.task', {
queueName,
queueSettings,
workerSettings,
register: registerTasks,
});
};
SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc