Commit Graph

1018 Commits

Author SHA1 Message Date
Ruben Fiszel 17d262ff7f backend tests 2024-12-09 18:41:13 +01:00
Ruben Fiszel 628ae617f7 feat: docker runtime 2024-12-09 18:02:18 +01:00
Ruben Fiszel 5711cc571d update tokio and deno_core (#4871)
* all

* update
2024-12-08 16:10:46 +01:00
Ruben Fiszel c6dc19a893 improve otel 2024-12-08 11:06:35 +01:00
Ruben Fiszel f7db561304 fix tracing 2024-12-07 17:17:25 +01:00
Ruben Fiszel 8a5ba115c6 feat: add otlp support (#4869)
* all

* all

* add otel

* add otel

* update docker-image

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update
2024-12-07 16:29:20 +01:00
Lucas Abel e38312700a feat(frontend): render new job kinds (#4864) 2024-12-06 15:11:57 +01:00
Lucas Abel ef08fc8e29 feat: add db storage for app inline scripts (#4837) 2024-12-06 13:37:45 +01:00
Lucas Abel c0b93f9c97 fix: handle flow & workspace renames for flow_node (#4861) 2024-12-06 09:40:32 +01:00
Ruben Fiszel b4011be2dc improve retries max value handling 2024-12-06 01:03:46 +01:00
Lucas Abel 5417ac5f07 fix: fix flow_node uniqueness (#4850)
`jsonb` comparison wasn't working as expected, and duplicated entries
were inserted within `flow_node`. To resolve this add a second hash
column, `hash_v2` with a unique default for uniqueness, and use this new
column to ensure unique entries. The previous hash column is left for
backward compatibility. Duplicated entries already insterted will remain
as is without breaking, and only new ones will preserve uniqueness.
2024-12-05 17:42:33 +01:00
Lucas Abel 9faf9ebb45 nit: format worker_lockfiles.rs (#4849) 2024-12-05 15:17:41 +01:00
Ruben Fiszel 75b64a53fa fix compile 2024-12-05 15:17:24 +01:00
Ruben Fiszel 7ad00e07b3 improve windows worker 2024-12-05 14:45:23 +01:00
Ruben Fiszel 3f6e40b0d4 fix: pass USERPROFILE on windows 2024-12-05 10:12:44 +01:00
Ruben Fiszel 19946deb82 simplify warn_after_seconds 2024-12-04 18:28:28 +01:00
Ruben Fiszel 715d09c30d simplify warn_after_seconds 2024-12-04 18:24:31 +01:00
Ruben Fiszel f6c4951877 improve transparency for slow queries 2024-12-04 17:30:58 +01:00
Ruben Fiszel 61d31cc9a7 improve draft only delete security 2024-12-03 23:13:35 +01:00
Ruben Fiszel 9abed3a30a fix empty branchall subflow 2024-11-29 19:02:47 +01:00
Ruben Fiszel b81bf99cc2 prettify cache msg 2024-11-29 13:01:54 +01:00
Ruben Fiszel 6891bf604c nit pip install 2024-11-29 12:37:52 +01:00
Ruben Fiszel 1b74cbaebb add total time 2024-11-29 12:35:10 +01:00
Ruben Fiszel e700016780 small uv s3 pull fix 2024-11-29 12:31:50 +01:00
Ruben Fiszel dbfc8a2783 fix: fix windows build 2024-11-29 09:53:05 +01:00
Lucas Abel 0a65b90049 feat(cache): implement flow node caching (#4808)
* feat(cache): implement flow node caching

* feat(cache): implement script caching

* feat(cache): improve cache
2024-11-29 09:35:00 +01:00
Ruben Fiszel 8338efa685 skip s3 python cache on windows and pro 2024-11-29 08:35:08 +01:00
pyranota a1dd641466 feat: Parallelize uv install (#4774)
* Implement MVP of Parallel uv installation

* Implement PY_CONCURRENT_DOWNLOADS

* Remove Flock for uv installs

* Make S3 pull/push parallel

* Refactor and allow to Cancel installation

* Dont print S3 in output if disabled

* Implement better error handling

* Polishing

* More polishing

* Implement error-handler for kill_tx_2.send()

* Fix and Format prev merge

* Presubscribe to all kill_tx's

We do it now before first event could fire
Meaning no events can be lost anymore

* Early print errors and safer error handling

* Return Err if installation failed

* Final changes

* Return error instead of just printing it

* Safer the way to acquire permit

* Fix compilation error

* Remove double error logs
2024-11-29 08:21:51 +01:00
Lucas Abel 995edad334 fix: invalid null comparison while inserting flow node (#4815) 2024-11-28 17:29:16 +01:00
Lucas Abel 7079b030eb fix: invalid jsonb comparison while inserting flow node (#4814) 2024-11-28 14:43:54 +01:00
pyranota 1323adb345 Remove flock (#4809) 2024-11-28 12:42:25 +01:00
Ruben Fiszel 66fdd8723f simplify logic to check for license key on workers 2024-11-27 18:51:06 +01:00
Lucas Abel 4e52e54314 feat(backend): store flow inner modules into flow_node table (#4778) 2024-11-27 16:08:31 +01:00
pyranota 5e20824367 Fix tar prefix (#4781)
* Fix tar prefix

* Use TAR_PIP(PYTHON_311)_CACHE_DIR instead

---------

Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2024-11-27 15:54:47 +01:00
Lucas Abel 60f2e9e242 enable is_simple optimization for FlowScript (#4799)
* backend: remove some allocations in `worker_flow.rs`

* feat(backend): enable `is_simple` optimization for `FlowScript`

* fix: fix node retrieval for `flowscript` inner step
2024-11-27 10:06:19 +01:00
Lucas Abel 41a7fbb80f fix: disable flow_version_lite in dedicated workers (#4800) 2024-11-27 10:02:44 +01:00
pyranota 41c8a22830 fix(python): Merge to site-packages packages with same name (#4793)
* (python) Initially implement merge

Iterate overall all python paths and if same folder has same name multiple times,
then merge the content and put to <job_dir>/site-packages

Solves problem with imports for some dependencies.

Default layout (/windmill/cache/):

dep==x.y.z
└── X
   └── A
dep-ext==x.y.z
└── X
   └── B

In this case python would be confused with finding B module.

This function will convert it to (/<job_id>):

site-packages
└── X
   ├── A
   └── B

This way python has no problems with finding correct module

* Better error-handling

* Optimize and fix bug

* Update backend/windmill-worker/src/python_executor.rs

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Update backend/windmill-worker/src/python_executor.rs

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Polish

* Add path to PathBuf

* Add & before PathBuf

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2024-11-26 18:24:26 +01:00
Lucas Abel ce121fcf37 feat(backend): implement flow scripts (#4748)
* feat(backend): implement flow scripts

* conditionally resolve reduced flow value

* conditionally use flow scripts based on the min worker version

* grant all to `flow_{version_lite,node}`

* do not silently discard errors

* env: add flow script feature flag

* flow script on cloud automatically

---------

Co-authored-by: Ruben Fiszel <ruben@rubenfiszel.com>
2024-11-25 23:20:51 +01:00
Ruben Fiszel a268bbf2cd email quotas only apply to top-level job 2024-11-25 16:20:55 +01:00
Ruben Fiszel e54e8ab405 fix: retry on inserting completed job (#4784)
* fix: retry on pushing next scheduled job of schedule

* all

* improve error handling

* update sqlx
2024-11-25 01:33:44 +01:00
Ruben Fiszel fd7bf27f27 remove rsmq 2024-11-24 11:04:54 +01:00
Ruben Fiszel 6901db5412 fix: expose DISABLE_DENO_LOCK 2024-11-23 08:39:57 +01:00
Lucas Abel 002f0b92ea backend: rework raw values fetching logic (#4770) 2024-11-21 13:59:42 +01:00
Lucas Abel b5f411a8ce feat(backend): move some static fields out of job tables (#4689)
* feat(backend): move some static fields out of job tables

* backend: re-use `flow_value` if any and avoid clone

* update minimal version to 1.427.0
2024-11-19 11:27:55 +01:00
wendrul 6f4a6d8a72 feat: Add mode (permissions) option to files in ansible (#4724)
* Add chmod option to files in ansible

* Add 0 prefix if string

* Rename chmod to mode
2024-11-18 17:02:38 +01:00
HugoCasa 5ef105b833 fix: revert bool to text support in pg (#4727) 2024-11-16 10:01:16 +01:00
HugoCasa 3939f42f5c unbreak nullable inputs in pg (#4726) 2024-11-15 22:27:28 +01:00
HugoCasa 8734df138c unbreak ::text for json in pg (#4722)
* unbreak ::text for json in pg

* better error handling
2024-11-15 18:35:21 +01:00
Ruben Fiszel cb39350ddc improve error messages on windows 2024-11-15 09:43:54 +01:00
Ruben Fiszel bcf4c8d0bf nits logs 2024-11-15 01:15:51 +01:00