Commit Graph

270 Commits

Author SHA1 Message Date
Ruben Fiszel 394c6fa92d feat(backend): workers are instantly ready and sync with global cache in background 2023-04-21 09:45:25 +02:00
Ruben Fiszel 242b2ae899 feat(backend): global cache refactor for pip using tar for each dependency (#1443)
* cache refactor

* exclude tar from being synced to bucket

* run

* update

* update
2023-04-20 20:05:12 +02:00
Ruben Fiszel f0b939cd3a add barrier when num workers > 1 2023-04-19 17:00:03 +02:00
Ruben Fiszel 26c7e9e8c3 add barrier when num workers > 1 2023-04-19 12:46:25 +02:00
Ruben Fiszel 89d0bea9fa feat(ee): sync cache in background 2023-04-19 00:55:51 +02:00
Ruben Fiszel be41e45130 split worker.rs into more files 2023-04-13 17:44:47 +02:00
Ruben Fiszel e8611ba8c1 add GOPRIVATE and NETRC for private modules 2023-04-11 19:55:38 +02:00
Kai Jellinghaus 63102b036c feat(backend): Redis based queue (#1324)
* Merge?

* Fix V8 breaking change

* WIP

* WIP

* Cleanup

* Move to git reference

* Fix Merge conflict

* update

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2023-04-11 12:24:13 +02:00
Ruben Fiszel db075f2ca1 feat(backend): add instance events webhook 2023-04-11 01:45:56 +02:00
Ruben Fiszel bbb6a15da7 only register prometheus metrics if they are enabled 2023-04-09 15:39:25 +02:00
Ruben Fiszel b64c9f6569 feat(backend): add /ready endpoint for workers 2023-04-05 10:34:25 +02:00
Ruben Fiszel 0bec54edfd feat: do cache bucket syncing in background + check tar before pushing it (#1360)
* all

* improve tar caching
2023-04-04 01:34:11 +02:00
Ruben Fiszel 8ad321da42 feat(backend): increase timeout for premium workspace 2023-03-26 18:56:40 +02:00
Ruben Fiszel 07d3bb6977 feat(backend): introduce RESTART_ZOMBIE_JOBS and ZOMBIE_JOB_TIMEOUT 2023-03-23 12:47:49 +01:00
Ryan Rich a828d6670d feat(deno): add support for custom npm repo (#1291)
* feat(deno): add support for custom npm repo

* feat(deno): add support for custom npm repo

* feat(deno): fix comment being on wrong line

* feat(deno): review feedback
2023-03-14 22:23:44 +01:00
Ryan Rich 36e95b904e Add support for binding server listener to a specific IP address (#1253) 2023-03-02 08:01:50 +01:00
Ruben Fiszel e791fbd377 display startup info in all cases 2023-02-28 17:52:47 +01:00
Ruben Fiszel 69d4a23b4f send a webhook on new user + lazy static refactor (#1203)
* supercharge

* supercharge

* progress

* progress

* display config

* display config

* display config

* display config

* fix extensions

* fix build

* disable nsjail = false for test
2023-02-15 10:59:50 +01:00
Ruben Fiszel e0d02e8f40 add license key check 2023-01-15 12:06:37 +01:00
Ruben Fiszel f0527f6810 re-enable picking groups 2022-12-20 07:18:10 +01:00
Ruben Fiszel ef95d02bbc change the default number of connections to 3 for workers 2022-12-19 18:59:46 +01:00
Ruben Fiszel 567a404355 usage tracker v3 2022-12-12 01:11:44 +01:00
Ruben Fiszel 6b98ae2ffc disable nsjail by default 2022-11-25 16:31:15 +01:00
Ruben Fiszel 0a8fd771b0 feat: supercache extended to all version 2022-11-18 20:17:23 +01:00
Kai Jellinghaus 7efdb3af6b feat(backend): sync cache features on all workers [enterprise] (#907)
* Periodic Job

* Add write lock & bash execution

* Use env for bash script

* Enterprise Feature

* Only time based

* Cleanup

* Move code

* Use rclone sync

* WIP

* Use buildarg

* Remove unecessary deps

* 10 Minute Intervals

* Revert testing change

* Manually pull rclone

* fix rclone

* Initial sync

* Update worker.rs

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-11-18 17:20:39 +01:00
Kai Jellinghaus 6263e90735 restructure the entire backend layout using workspaces (#815) 2022-10-29 11:58:06 +02:00
Ruben Fiszel 1936a60b4a UX flow improvements + fix collecting results for loops in frontend + fix Identity behavior in backend 2022-10-27 18:50:32 +02:00
Ruben Fiszel 574df78421 fix export to tarball 2022-10-27 00:43:51 +02:00
Ruben Fiszel 256612bbc5 improve python parsing of imports 2022-10-27 00:19:17 +02:00
Ruben Fiszel 14fb4551f4 feat: payload capture of json to initialize flow input (#655)
* capture table and some endpoints for json pastebin

* only retain user's most recent captures

* merge conflict

* sqlx data

* fix migration

Co-authored-by: sqwishy <somebody@froghat.ca>
2022-10-25 00:54:53 +02:00
Ruben Fiszel 02f4113234 add resume_id to job_resume + add identity module 2022-10-24 14:48:28 +02:00
Ruben Fiszel 3ad64ba6eb fix get_suspended_job_flow module finding 2022-10-24 10:37:21 +02:00
Ruben Fiszel da71358090 fix get_suspended_job_flow 2022-10-24 10:18:23 +02:00
Ruben Fiszel 77c114f037 fix(deno-client): add approver 2022-10-24 02:24:44 +02:00
Ruben Fiszel 7a4bcd98f6 feat: add approver to approval step 2022-10-24 01:50:39 +02:00
Ruben Fiszel a9359dada7 fix: improve approval flow with approval page 2022-10-22 13:55:12 +02:00
Ruben Fiszel f8fce1fa78 fix send tx for kill 2022-10-22 00:34:36 +02:00
Ruben Fiszel 68a0376fc3 feat(backend): propagate cancel instantly to all flow jobs if any 2022-10-21 22:00:52 +02:00
Ruben Fiszel 26cd5ec6f2 fix import script from hub 2022-10-21 19:38:33 +02:00
Kai Jellinghaus 93b1432625 fix(backend): avoid mem leak on interval #786 2022-10-21 12:15:03 +02:00
Ruben Fiszel 6d4d8e2d64 feat: support running and publishing go, python scripts to the hub (#779) 2022-10-20 20:16:08 +02:00
Kai Jellinghaus 438563d5ea Add more tracing (#773) 2022-10-20 07:40:58 +02:00
Kai Jellinghaus bce59a197e More Metrics (#735)
* Expose Worker Tokio Metrics

* Add metrics tracking the job queue

This can be used to (approximate) the queue length
This can be used to (approximate) the running jobs

* Remove testing code

* Rename metrics to exclude TOTAL_

* Sleep in worker metrics loop

* Add jobs_executed

* Add zombie job metrics

* Add uptime metric

* Fix metric naming

* Remove poll stats

* unify worker execution metrics

* Rename jobs_* metrics

* Rename metrics to match exposed name

* Remove leftover import

* Rename variables to match further

* Fix Merge error

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2022-10-19 10:15:42 +02:00
Ruben Fiszel d2fd81e542 remove erronous pull created_by 2022-10-19 04:10:41 +02:00
Ruben Fiszel dd33179d70 make get job more reliable 2022-10-19 03:54:41 +02:00
Ruben Fiszel b728041770 nits 2022-10-19 03:41:56 +02:00
Ruben Fiszel d1657383c7 feat(backend): atomic moving queue -> complete and delete (#771)
* feat(backend): atomic move to queue + delete

* fix

* fix

* fix

* fix
2022-10-19 03:16:15 +02:00
Ruben Fiszel 8aa4c7691b fix(backend): reschedule flow at first step end (#746)
* fix(backend): reschedule flow at first step end

* fix

* fix

* fix

* fix

* sqlx prepare
2022-10-18 17:06:39 +02:00
Ruben Fiszel d1780c8c6b feat: add result by id to fetch result from any node (#769)
* feat: add result by id to fetch result from any node

* sqlx prepare

* fix

* fix

* review
2022-10-18 17:04:13 +02:00
Ruben Fiszel 584f168f8f feat: add ids to modules + input_transform lowered to flowmodulevalue (#768)
* feat: add ids to modules + inputTransforms from module to module value

* all

* delete obsolete input transforms
2022-10-17 22:34:12 +02:00