About database supported
- Dominant language
- Go
- Stars
- 4k
- Forks
- 332
- Avg merge
- 19h 9m
- Merged PRs (30d)
- 137
Description
After understanding the basic usage of dagu, I have a curious question. Why did Dagu choose disk as the storage? Is there any possible that we have plans to support database access? Usually, as we are familiar with, a physical node, regardless of its storage space, still carries the risk of being fully occupied. At the same time, some local files may also be unexpectedly deleted due to unforeseen failures. Therefore, when we start the dagu service using the command line, do we also face the aforementioned risks?
And I noticed that when Dagu scheduler scheduled tasks, the scheduler uses a "watch mechanism" to detect the update status of various files in the current Dags directory. I feel that this is somewhat similar to ETCD. Of course, Redis and MySQL may also have some "watch mechanisms". So, does it provide a possibility to watch through a database? And, when using Dagu, we submitted a yaml file through the web UI, which describes the overall structure of the task, which actually has similarities with the declarative form of k8s. Therefore, if Dagu's k8s deployment is supported in the future, its access to ETCD or other distributed databases may also be more suitable.
Contributor guide
Research direction
Start with Dagu's command-line service startup, scheduler watch mechanism for the current Dags directory, and web UI YAML submission flow. The issue does not identify files, tests, a specific database target, or acceptance criteria, so first determine the intended storage and watch design and define what database-backed operation should be considered complete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, mysql, redis
- Domain
- backend, databases, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100