Skip to content

Tasks Endpoint

Compare
Choose a tag to compare
@jhazentia jhazentia released this 25 Feb 20:29
· 846 commits to master since this release
140e988

The largest change in the release is that the /acquisitions endpoint, which holds data produced when the scheduler runs a task that saves data in the database, and the /results endpoint, which was created later to give some status information about each task run, have been merged into a new /tasks endpoint.

We also took this opportunity to relocate the "task queue", which provides a snapshot of upcoming tasks as seen by the scheduler, from the /status endpoint into /tasks.

/tasks/upcoming now shows the tasks queue. It now shows at most settings.MAX_TASK_QUEUE upcoming tasks.
/tasks/completed gives overview information about the number of results available for each schedule entry that you have permissions to view, and also provides a link to download a multi-recording archive of all available data for that schedule entry.
/tasks/completed/{schedule_entry_name} lists each task result and "metadata" and SigMF "archive" links under the new data key, if available.
/tasks/completed/{schedule_entry_name}/{task_id} shows the detail view for a single task result.

Multi-recording SigMF archives are now supported, which means actions can produce them. The "stepped frequency" style actions now produce a multi-recording archive to allow a different sample rate at each center frequency.

Python 3.7 or later is required

Other changes:

  • sensor definition can be loaded from a json file
  • actions can be defined in yaml (see /configs/actions/README.md)
  • m4s and IQ actions defined across 700MHz band
  • superuser (admin) account can be generated automatically from environment variables
  • django-debug-toolbar is enabled when DEBUG=true
  • object's url field name changed from "url" to "self" for consistency with RFC 42867
  • Task object (displayed in task queue at /tasks/upcoming) "time" field changed from epoch timestamp to datetime string to better align with rest of API
  • setup automatic code formatters using pre-commit. See the DEVELOPING.md file for notes
  • updated NTIA license
  • updated calibration file format
  • updated SigMF metadata
  • set clock rate based on calibration file and sample rate used
  • action callback now passes token in header
  • action callback SSL verification can be disabled with CALLBACK_SSL_VERIFICATION environment variable
  • last calibration time reported on status endpoint
  • added MAX_TASK_RESULTS environment variable to control the maximum task results for a schedule entry before oldest results will be overwritten
  • added MANAGER_FQDN and MANAGER_IP to resolve hostname for scos-manager in docker container
  • m4s actions now use flat top window for FFT
  • sensor overload reported in SigMF metadata
  • separate calibration files used for sensor and signal analyzer (usrp)
  • datetime fields now use millisecond ISO-8601 format
  • Fixed many bugs, upgraded and added tests, updated dependency versions, and much more...