Socket
Socket
Sign inDemoInstall

@moxb/shards-meteor-process-manager-core

Package Overview
Dependencies
7
Maintainers
4
Versions
46
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @moxb/shards-meteor-process-manager-core

Shards: Meteor process manager core


Version published
Weekly downloads
20
increased by900%
Maintainers
4
Created
Weekly downloads
 

Readme

Source

Shards - Meteor Process Manager: core

This family of packages provides a framework for Meteor projects that allows running tasks in the background.

Overview

Task Definition

Tasks are described using a specific interface. Basic example:

const processCountSheep: ProcessDefinition = {
  processId: 'count-sheep',
  name: "Count sheep",
  detailLevel: 1,
  execute: () => {
      // 1
      sleep(1);
      // 2
      sleep(2);
      // 3
  }
};

See ProcessDefinition for more.

Process Context

When a process is executed, it gets ProcessContext instance, which provides some APIs for communicating with the process manager.

function someProcess(context: ProcessContext<any>) {
    sleep(1);
    context.reportProgress("One", 0.1);
    sleep(1);
    context.reportProgress("Two", 0.2);
    sleep(1);
}

See ProcessContext for more.

Recursive launching of processes

A process can also request the launching of another process. Multiple modes of interactions are supported.

TODO

Process Controller

The process controller is a singleton object, living on the server side. It's responsible for controlling what happens around the processes.

The application code running on the server side can talk to this controller:

getProcessController().launchProcess("basic", "count-sheep");
getProcessController().stopProcess("basic", "count-sheep");

See ProcessController for more.

The application code on the client side can talk to the process controller using a set of Meteor methods:

launchProcessMethod.call({ scopeId: "basic", processId: "count-sheep" });
stopProcessMethod.call({ scopeId: "basic", processId: "count-sheep" });

Examining process status

We store the status of each of the defined processes.

console.log(getProcessController().getProcess("basic", "count-sheep");

See ProcessStatus for the exact details.

As far as the client is concerned, publicationBackgroundProcesses is a Meteor publication carries all process status info from the server to the client.

See also

Keywords

FAQs

Last updated on 01 Dec 2022

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc