SKA Tango Base Logo

Tutorials

  • Writing your first SKA Tango device using ska-tango-base

How-To Guides

  • How to write a device with a component manager
  • How to manage the operational state
  • How to implement a long running command
  • How to invoke a long running command
  • How to use the logger
  • How to use OpenTelemetry
  • How to use optional attributes
  • How to implement event driven monitoring
  • How to use the CallbackScheduler
  • How to test a SharingObserver

Guidelines

  • Reporting failure of long-running commands
  • Initialising your SKA Tango device

Concepts

  • Components and component managers
  • Logging configuration
  • Long running commands

Reference

  • commandedState and commandedObsState attributes
  • Long running command client/server interface
  • Modular device API design
  • Base device interfaces
  • API
    • SKADevice
    • Base Device
    • Controller Device
    • Obs Device
    • Subarray Device
    • Future Interfaces
    • Software Bus
    • Task Executor
    • SKA Poller
    • Long Running Commands
      • Client API
      • Device Mixin
      • Decorators
    • Command Argument Validators
    • Commands
    • Deprecate modules
    • Callback Scheduler
    • Faults
    • TestModeOverrideMixin
    • Testing subpackage
    • Type Hints
    • Utils

Releases

  • Migrating to 1.0
  • Migrating to 1.2
  • Migrating to 1.4
  • Migrating to 1.5
  • Migrating to 1.7
  • Changelog
SKA Tango Base
  • API
  • Long Running Commands subpackage
  • View page source

Long Running Commands subpackage

This module implements a mixin class for long running commands.

The mixin requires the class using it to also inherit from the generic SKADevice class.

  • Client API
    • invoke_lrc()
    • connect_lrc_interface()
    • disconnect_lrc_interface()
  • Device Mixin
    • LRCReqType
      • LRCReqType.ENQUEUE_REQ
      • LRCReqType.EXECUTE_REQ
      • LRCReqType.__new__()
    • LRCMixin
      • LRCMixin.lrcQueue
      • LRCMixin.lrcExecuting
      • LRCMixin.lrcFinished
      • LRCMixin.on_new_shared_bus()
      • LRCMixin.create_task_executor()
      • LRCMixin.delete_device()
      • LRCMixin.schedule_abort_task()
      • LRCMixin.task_executor
    • AbstractLRCMixin
      • AbstractLRCMixin.on_new_shared_bus()
      • AbstractLRCMixin.command_tracker
      • AbstractLRCMixin.task_executor
      • AbstractLRCMixin.lrcProtocolVersions()
      • AbstractLRCMixin.is_Abort_allowed()
      • AbstractLRCMixin.Abort()
      • AbstractLRCMixin.allocate_lrc()
      • AbstractLRCMixin.convert_submission_result_to_lrc_return()
      • AbstractLRCMixin.submit_lrc_task()
      • AbstractLRCMixin.execute_Abort()
      • AbstractLRCMixin.schedule_abort_task()
      • AbstractLRCMixin.CheckLongRunningCommandStatus()
      • AbstractLRCMixin.execute_CheckLongRunningCommandStatus()
  • Decorators
    • long_running_command()
    • submit_lrc_task()
    • mark_long_running()
Previous Next

© Copyright SKAO.

Built with Sphinx using an SKA theme based on a theme provided by Read the Docs.

SKA documentation is licensed under Creative Commons Attribution 4.0 International.