Comments (5)
The original idea supports moving archived artefacts to cheaper storage but assumed this would be achieved by mounting or symlinking the archive directory appropriately. It's simpler to just dynamically iterate the folder, but iterating is more expensive especially on slow storage or if there are many artefacts. I'm not opposed to your suggestion, just wanted to check why mounting/symlinking would not work for you since this proposal has some (admittedly low) added complexity versus the current situation
from laminar.
If I want to archive artifacts on S3, mounting them so Laminar finds them means FUSE -- already extra complexity. Furthermore,
scanning S3 to render a job page (list of artifacts on the top) is both slow and costly.
Technically, I can keep empty files in /laminar/archive to inform Laminar about what artifacts are associated with the job, yet configure the reverse proxy to go to S3 instead, but that means using the filesystem as a database. Huge pain to back up. readdir(3) won't be happy.
from laminar.
Fair enough
from laminar.
@mitya57 are you still offering a PR for this? I'm happy with the justification
from laminar.
Sorry for the late response.
@mitya57 ended up with postgres-only fork. https://github.com/mitya57/laminar/tree/wip/postgres
That was necessary to speed up the things by taking advantage of Postgres materialized views and other nice features. Patch to keep the artifact list in the database ended up tightly coupled to other changes, so, I guess we can close the issue.
from laminar.
Related Issues (20)
- Build jobs outputting loooong lines slowly may delay other server responses? HOT 1
- Do you implement login system to web ui? HOT 1
- Laminar own webhooks HOT 1
- Route from run to job? HOT 1
- SIGSEGV (with a few browser tabs and while fetching a large job log) HOT 12
- Show currently running `run` in graph on jobs page HOT 2
- FE: "Jobs" link not working with new-and-not-yet-built jobs HOT 5
- laminard: `pages` count wrong with no finished run for a given job HOT 3
- Better Average Runtime Calculation to see what to expect for the next builds HOT 1
- Issues with large databases / large job output HOT 28
- Add Content Security Policy (CSP) HOT 3
- Adding PostgreSQL support HOT 8
- Storing the list of artifacts in the database HOT 1
- [feature request] Abort button. HOT 1
- [PATCH] database: fix missing import HOT 1
- [PROPOSAL] Manual triggers HOT 2
- Shell not sourcing /etc/profile on NixOS HOT 3
- Question on packaging and directory permissions HOT 2
- SigMask has changed, says kj. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from laminar.