@flatfile/plugin-job-handler v0.8.1
The @flatfile/plugin-job-handler package is a plugin designed to streamline handling Flatfile Jobs, which are a large unit of work performed asynchronously on a resource such as a file, Workbook, or Sheet.
Event Type:
listener.on('job:ready')
Parameters
job - string - (required)
The job parameter is applied as a filter when listening for job:ready.
handler - function - (required)
The handler parameter is a callback where you execute your code. It accepts two arguments: event and tick.
event: Represents theFlatfileEvent, giving context to the handler.tick: A function that can be used to update Job progress. It accepts two parameters:progress: A number between 0 and 100 indicating the progress percentage.message: An optional descriptive string.
Invoking the tick function returns a promise that resolves to a JobResponse object. However, using the tick function is optional.
opts.debug - boolean - default: false
The debug parameter is used to enable debug logging for the plugin.
Usage
The jobHandler plugin manages Flatfile Jobs. It listens for the job:ready event and screens it based on the job parameter.
When a job:ready event occurs:
- The
handlercallback is triggered with theFlatfileEventand an optionaltickfunction. - This
tickfunction, if used, updates the Job's progress. - The
handlermay yield a promise that culminates in aJobResponseobject, allowing for a customized successful Job status.
Install
npm i @flatfile/plugin-job-handlerImport
import { jobHandler } from "@flatfile/plugin-job-handler";Replace "domain:operation" with the domain and operation you want to listen for.
listener.js
listener.use(
jobHandler("domain:operation", async (event, tick) => {
try {
// your code here...
await tick(50, "Halfway there!"); // update Job progress
// ...continue your code...
await tick(75, "Three quarters there!"); // update Job progress
// ...continue your code...
return {
outcome: {
message: "Job complete",
},
};
} catch (error) {
throw error; // will fail the Job
}
})
);11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago