This document covers the automated job processing system that continuously monitors and executes trading signals for supported cryptocurrency symbols. The SignalJobService
orchestrates periodic signal validation, resolution, and execution tasks on a 15-second interval.
For information about the signal generation and validation logic itself, see Signal Generation and Validation. For details about how signals are processed and persisted after generation, see Signal Logic and Management.
The automated job processing system is built around the SignalJobService
class, which coordinates with multiple service dependencies to perform continuous signal monitoring and execution.
The job service processes a predefined list of cryptocurrency trading pairs on each execution cycle.
Configuration | Value | Description |
---|---|---|
JOB_INTERVAL |
15,000 ms | Execution interval between job cycles |
JOB_LIST |
5 symbols | Supported cryptocurrency trading pairs |
The job service includes multiple safety checks before starting automated processing:
Each job execution cycle processes two distinct types of signal operations for every supported trading pair.
The first phase of processing handles closing existing signals when market conditions indicate resolution:
The second phase handles generating and executing new signals:
The job service respects command line arguments that control its execution behavior:
Argument | Effect | Implementation |
---|---|---|
--repl |
Disables job processing in REPL mode | bootstrapService.isRepl |
--noJob |
Completely disables automated jobs | bootstrapService.isNoJob |
Job processing also depends on various environment configurations that affect its operation:
The job service implements comprehensive error handling to ensure continuous operation despite individual symbol processing failures.
The service provides extensive logging for monitoring and debugging:
Log Type | Content | Purpose |
---|---|---|
Initialization | signalJobService run |
Service startup confirmation |
Signal Resolution | Russian language status messages | Operational transparency |
Signal Execution | Request and skip messages | Processing decision tracking |
Error Handling | Symbol-specific failure logs | Debugging and monitoring |
The SignalJobService
is automatically initialized during application startup through the dependency injection container and runs continuously until application shutdown.