Constructs and prepares an instance of this scheduler.
The arguments passed to the command. Typically, this holds required parameters of commands.
Memory store for all contracts processed in one run of this command. As is usual, one contract is always execute with one transaction [hash].
The internal dApp configuration object. This object is used to configure key functionalities such as the name of a dApp and the enabled scopes of the backend runtime.
Memory store for the last page number being read. This is used in getStateData to update the latest execution state.
The internal dApp network configuration object. This object is used to configure the access to the underlying blockchain network.
The command scope. This is the scope that must be enabled
through the configuration files for this command to be
available.
This property is required through the extension of
BaseCommand.
Requires state information of the module. This object is typically populated upon first execution and updated any time later.
Memory store for the total number of operations. This is used in getStateData to update the latest execution state.
Memory store for all transactions processed in one run of this command. Note that it contains only transfer transactions as those are the only relevant to this processor command.
This method must return a command name. Note that
it should use only characters of: A-Za-z0-9:-_.
e.g. "scope:name"
This property is required through the extension of
ProcessorCommand.
This method must return a command signature that
contains hints on the command name and its required
and optional arguments.
e.g. "command
This property is required through the extension of
ProcessorCommand.
Getter for the discovery state identifier, e.g.
"discovery.accounts", "discovery.transactions",
"payout.outputs" etc.
This method is an implementation necessary because
of the extensions of StatefulModule.
This method uses the logger to print debug messages.
This method uses the logger to print error messages.
Optionally, a stack
can be passed to print a stack trace.
Helper method to extract the transaction block of a mongo document
in the transactions
collection.
Helper method to extract the transaction hash of a mongo document
in the transactions
collection.
Helper method to extract the signer address of a TransactionDocument
instance.
Creates a state query for this discovery service. Each discovery service shall set its own stateIdentifier which is considered the identifier of the discovery module's state document.
This method uses the logger to print info messages.
This helper method serves as a parser for the -c
or --collection
option of this command.
The processor collection can contain a mongo collection
name that must exist in the database.
The --collection
argument as passed in the terminal.
A validated mongo database collection name.
This helper method serves as a parser for the -t
or --include-types
option of this command.
An array of transaction types or undefined.
This method implements the processor logic for this command
that will process relevant subjects. Subjects in this command
are operations that are included in transfer transactions on
dHealth Network.
As of the time of writing, this scheduler currently supports the
following contracts:
elevate:auth
: An authentication operation (log-in action).elevate:earn
: An earning operation (rewards).elevate:referral
: A referral operation (invite a friend).elevate:welcome
: An operation to welcome new users (greeting).
This method is the entry point of any command line
executed command. nest-commander
implements a flow
where this method is called with parameters that are
respectively the raw arguments and the parsed arguments
to this command call.
This method uses the stateService to fetch the
current execution and also uses it to update the state.
Note that the runWithOptions method is called inside
a try-catch block to force the error handling process.
This method is the entry point of this scheduler. Due to
the usage of the Cron
decorator, and the implementation
the nest backend runtime is able to discover this when the
processor
scope is enabled.
This method is necessary to make sure this command is run
with the correct --collection
option.
This scheduler is registered to run every 30 seconds.
This method implements the execution logic for
processor commands that extend this class. Child
classes must implement a process method
that is called in here.
Note that this method is called by BaseCommand
under the hood, which permits to execute and track
failures more consistently at a higher level.
The parsed runtime arguments passed to the command.
This method prints usage information to the command line
and is used by nest-commander
to print a correctly formatted
help message.
Note that usage methods can be overwritten but must always
print a standard command line signature.
Generated using TypeDoc
The implementation for the operations processor scheduler. Contains source code for the execution logic of a command with name:
processor:ProcessOperations
.v0.3.0