
Research
Security News
Lazarus Strikes npm Again with New Wave of Malicious Packages
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
@google-cloud/tasks
Advanced tools
@google-cloud/tasks is a Node.js client library for Google Cloud Tasks, which allows you to manage the execution of large numbers of distributed requests. It provides a way to create, manage, and dispatch tasks to App Engine, HTTP, or Cloud Pub/Sub targets.
Create a Task
This feature allows you to create a new task in a specified queue. The task can be an HTTP request with a payload.
const {CloudTasksClient} = require('@google-cloud/tasks');
const client = new CloudTasksClient();
async function createTask() {
const project = 'my-project-id';
const queue = 'my-queue';
const location = 'us-central1';
const url = 'https://example.com/taskhandler';
const payload = 'Hello, World!';
const parent = client.queuePath(project, location, queue);
const task = {
httpRequest: {
httpMethod: 'POST',
url,
body: Buffer.from(payload).toString('base64'),
headers: {
'Content-Type': 'application/json',
},
},
};
const request = {parent, task};
const [response] = await client.createTask(request);
console.log(`Created task ${response.name}`);
}
createTask().catch(console.error);
Delete a Task
This feature allows you to delete a specified task from a queue.
const {CloudTasksClient} = require('@google-cloud/tasks');
const client = new CloudTasksClient();
async function deleteTask() {
const project = 'my-project-id';
const queue = 'my-queue';
const location = 'us-central1';
const task = 'my-task-id';
const name = client.taskPath(project, location, queue, task);
await client.deleteTask({name});
console.log(`Deleted task ${name}`);
}
deleteTask().catch(console.error);
List Tasks
This feature allows you to list all tasks in a specified queue.
const {CloudTasksClient} = require('@google-cloud/tasks');
const client = new CloudTasksClient();
async function listTasks() {
const project = 'my-project-id';
const queue = 'my-queue';
const location = 'us-central1';
const parent = client.queuePath(project, location, queue);
const [tasks] = await client.listTasks({parent});
tasks.forEach(task => {
console.log(`Task: ${task.name}`);
});
}
listTasks().catch(console.error);
Bull is a Node library that implements a fast and robust queue system based on Redis. It provides features like delayed jobs, rate-limited jobs, and job prioritization. Compared to @google-cloud/tasks, Bull is more focused on in-memory job queues and does not offer direct integration with Google Cloud services.
Agenda is a lightweight job scheduling library for Node.js that uses MongoDB as a persistence layer. It is designed for long-running jobs and provides features like job scheduling, job prioritization, and job concurrency. Unlike @google-cloud/tasks, Agenda is more suitable for applications that already use MongoDB and need a simple job scheduling solution.
Kue is a priority job queue backed by Redis, built for Node.js. It provides features like job events, job retries, and job progress tracking. Kue is similar to Bull but offers a different API and feature set. It does not provide the same level of integration with Google Cloud services as @google-cloud/tasks.
Node.js idiomatic client for Cloud Tasks.
Manages the execution of large numbers of distributed requests.
Read more about the client libraries for Cloud APIs, including the older Google APIs Client Libraries, in Client Libraries Explained.
Table of contents:
Select or create a Cloud Platform project.
Enable billing for your project.
Enable the Google Cloud Tasks API.
Set up authentication with a service account so you can access the API from your local workstation.
npm install --save @google-cloud/tasks
The Cloud Tasks Node.js Client API Reference documentation also contains samples.
This library follows Semantic Versioning.
This library is considered to be in alpha. This means it is still a work-in-progress and under active development. Any release is subject to backwards-incompatible changes at any time.
More Information: Google Cloud Platform Launch Stages
Contributions welcome! See the Contributing Guide.
Apache Version 2.0
See LICENSE
FAQs
Cloud Tasks API client for Node.js
The npm package @google-cloud/tasks receives a total of 295,681 weekly downloads. As such, @google-cloud/tasks popularity was classified as popular.
We found that @google-cloud/tasks demonstrated a healthy version release cadence and project activity because the last version was released less than 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
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.
Security News
Opengrep continues building momentum with the alpha release of its Playground tool, demonstrating the project's rapid evolution just two months after its initial launch.