Task Service FAQ
This article answers common questions about the LifeOmic Platform Tasks feature. For more documentation, see Tasks.
What is LifeOmic Task Service?
LifeOmic Task Service is a managed batch compute offering on the LifeOmic Platform that is powered by Docker containers (either public or private).
Tasks adhere to the GA4GH TES (Task Execution Schema) standard for describing a set of batch execution tasks.
Tasks are used for various aspects across the LifeOmic Platform. From loading ontologies, data ingestion, and data index preparation from EHR vendors and Laboratories (like Ashion, Foundation, and Nantomics).
What compute is available to LifeOmic Task Service?
Tasks can be configured for either CPU or GPU compute, which is part of the task definition and chosen by the user with respect to their workload requirements.
CPU based Tasks:
1 GB -
5000 GB maximum
GPU based Tasks:
Are there preemptive compute options available?
Tasks can be configured to use preemptive compute (e.g. AWS Spot) in the task definition. If AWS Spot takes the compute away, the Task will automatically retry until it completes.
What inputs and connectivity does a Task have access to?
LifeOmic Task Service does not provide any network access for the container image that is run. Instead a mounted file-system is made available once the task definition inputs are loaded.
When a Task is started, the task definition has a preparation step that downloads the input items (e.g. from Files, FHIR Service, FHIR Search Service, GNOSIS, and SFTP) that will then be mounted into the executed task container image as it starts.
What security do tasks have?
Tasks provide a battle-tested and secure sandbox for code execution. They are in scope of our bug-bounty program.
Can Tasks be scheduled?
Tasks can be scheduled in the future in their task definition for either a specific date or using a cron expression.
Can I be notified when a Task completes or fails?
Tasks may be configured to send an email upon failure or completion to the specified email address in the task definition.
Are there limitations of using public or private Docker images?
LifeOmic Task Service may use both public and private docker images. The preferred mechanism for sharing private container images are to upload them into the LifeOmic Platform (which is HIPAA and HITRUST compliant) using the LifeOmic CLI.
Can my workloads be configured to time-out (infinite-loops, hung, etc.)?
LifeOmic Task Service provides a duration configuration property in the task definition that may be used to bound code execution.
Are Tasks available to Notebooks?
LifeOmic Task Service is available through the [LifeOmic CLI][https://github.com/lifeomic/cli], which is already bundled out of the box in LifeOmic Notebooks.
For examples, see Tasks.
Are there example Docker containers that deal with genomic data?
These examples are available as open-source:
https://github.com/lifeomic/foundation-xml-fnv - Docker image for converting FoundationOne XML reports into a comma delimited file used for processing by LifeOmic for processing fusion variants.
https://github.com/lifeomic/foundation-xml-cnv - Docker image for converting FoundationOne XML reports into a comma delimited file used for processing by LifeOmic for processing copy number variants.
https://github.com/lifeomic/foundation-xml-fhir - Docker image for converting FoundationOne XML reports into FHIR resources.