0.4.7 • Published 3 years ago

@moxb/shards-meteor-process-manager-core v0.4.7

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

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

0.4.0-alpha.4

3 years ago

0.4.0-alpha.0

3 years ago

0.4.0-alpha.7

3 years ago

0.4.0-alpha.5

3 years ago

0.4.5

3 years ago

0.4.4

3 years ago

0.4.7

3 years ago

0.4.6

3 years ago

0.4.1

3 years ago

0.4.0

3 years ago

0.4.2

3 years ago

0.3.95

3 years ago

0.3.91

3 years ago

0.3.90

3 years ago

0.3.86

3 years ago

0.3.85

3 years ago

0.3.84

3 years ago

0.3.83

3 years ago

0.3.82

3 years ago

0.3.81

3 years ago

0.3.89

3 years ago

0.3.80

3 years ago

0.3.79

3 years ago

0.3.78

3 years ago

0.3.76

3 years ago

0.3.72

3 years ago

0.3.70

3 years ago

0.3.69

3 years ago

0.3.68

3 years ago

0.3.65

3 years ago

0.3.64

3 years ago

0.3.63

3 years ago

0.3.56

3 years ago

0.3.48

3 years ago

0.3.47

3 years ago

0.3.46

3 years ago

0.3.33

3 years ago

0.3.32

3 years ago

0.3.31

3 years ago

0.3.30

3 years ago

0.3.29

3 years ago

0.3.28

3 years ago

0.3.27

3 years ago

0.3.26

3 years ago

0.3.22

3 years ago

0.0.1

3 years ago