databrickslabs / databrickslabs/ontos
[Improvement]: Complete background job feature
Open
Nobody has claimed this yet.
scope/settings
type/improvement
- Dominant language
- Python
- Stars
- 212
- Forks
- 71
- Avg merge
- 4d 10h
- Merged PRs (30d)
- 43
Description
Is there an existing issue for this?
- I have searched the existing issues
Problem statement
Right now the background jobs are not deployed properly
Proposed Solution
Fix deploy and backend handling workflows and running them as jobs on job clusters.
In general:
- The app uses jobs to offload anything heavy to run on job clusters
- The admin can configure the name and ID of the job cluster in the settings
- The jobs run workflows, which are defined in YAML files in the app. The YAML contains the information about the code to run (could be notebooks or PyPI libraries, such as DQX), the scheduling, and optional job cluster override
- The app manages the lifecycle of these jobs via the Databricks SDK (@workspace_client.py): It installs/uninstalls/updates them, starts them ad-hoc or into a schedule, monitors them, and informs via the notification backend about their status (for suitable app roles)
- The settings page let's admins enable and disable individual jobs, which uses the Databricks API to handle the same
Additional Context
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with @workspace_client.py, the workflow YAML files, and the settings page to trace how jobs are configured, deployed, scheduled, monitored, and disabled. Review the notification backend as part of the job lifecycle. Done means configured workflows run on job clusters, admins can manage them, and job status is reported appropriately.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, cloud
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100