Commit Graph

790 Commits

Author SHA1 Message Date
Ruben Fiszel 6d4b8a2e4f fix: handle better single step parallel flows 2024-06-19 08:28:15 +02:00
Ruben Fiszel 4cd733b67d update datafusion 2024-06-18 20:51:59 +02:00
HugoCasa b753e4d06c feat: add support for bytea in pg (#3926)
* feat: add support for bytea in pg

* fix: editor nits
2024-06-18 17:38:46 +02:00
Ruben Fiszel a64b099084 fix: add more debug logs around http client errors 2024-06-18 09:01:55 +02:00
Ruben Fiszel 631b981b8e fix: add more debug logs around http client errors 2024-06-18 08:54:55 +02:00
HugoCasa 21b9accca1 feat: replace ephemeral tokens by jwt (#3908)
* feat: replace ephemeral tokens by jwt

* fix: migration + sqlx

* fix: tests, agent, ee ref

* fix: sqlx

* fix: tests

* fix: jwt prefix change + fix tests

* fix: nit

* fix: handle agent mode
2024-06-14 13:07:35 +02:00
Ruben Fiszel dc6144219f fix bun cache 2024-06-13 22:08:33 +02:00
Ruben Fiszel 28afe59a4a feat: accelerate bun through caches (#3909)
* all

* all

* all

* all

* all

* simplify extract
2024-06-13 19:09:16 +02:00
Richard Klees 320ba754a4 fix: correct exception handling in PHP wrapper (#3901)
The `catch` is hinting on `\Exception` [1] which has not `getName`-method.
To identify the type of exception, `get_class` can be used.

[1] https://www.php.net/manual/de/class.exception.php

Co-authored-by: HugoCasa <hugo@casademont.ch>
2024-06-13 08:13:32 +02:00
Ruben Fiszel 28d7510584 fix: fix dependency tracking for single scripts 2024-06-11 21:04:03 +02:00
Ruben Fiszel 5f119de6cb fix: fix dependency tracking for single scripts 2024-06-11 20:51:57 +02:00
Ruben Fiszel dcff6e9ff3 fix(backend): wrong previous result used in flow for-loop 2024-06-11 17:35:38 +02:00
Ruben Fiszel 1be0bfaf7b fix: flow args should always render in test flow 2024-06-11 13:57:53 +02:00
Ruben Fiszel 36d0c4e992 fix: fix nativets scripts 2024-06-10 19:09:38 +02:00
Ruben Fiszel ec248ddaec fix: update deno_core to latest to work better with rust 1.78 (#3890) 2024-06-10 18:31:16 +02:00
Ruben Fiszel 1957ca03b3 feat(cli): add wmill flow generate-locks 2024-06-10 11:44:53 +02:00
Ruben Fiszel 38ed825d09 remove all warnings 2024-06-08 18:06:04 +02:00
Ruben Fiszel 26822d9db8 return flow value in flow dependency job 2024-06-08 17:38:06 +02:00
Ruben Fiszel 5ae8592792 feat: track dependency map for bun + inline script of flows 2024-06-08 16:43:48 +02:00
Ruben Fiszel da1ea04c79 fix: retrigger bun dependencies jobs for importers when using common deps 2024-06-07 13:34:07 +02:00
Ruben Fiszel 7d6868a0cb increase token length to 32 chars 2024-06-05 15:49:21 +02:00
Ruben Fiszel ebf37eb16b fix: use full hostname as worker ping hostname and add it in other contexts 2024-06-05 11:28:51 +02:00
Ruben Fiszel ef9ad1af49 fix: fix writing binary file from global cache in go 2024-06-04 21:17:05 +02:00
Ruben Fiszel 439ab8ab14 fix: lock steps inside whileloops for flows 2024-06-03 19:37:42 +02:00
wendrul 203264b871 feat: warn when jobs spent a long time waiting in queue (#3856)
* Store jobs that waited for too long

* Add warnings as badges for long waited jobs

* Separate into self_wait_time and aggregate

Change the UI accordingly

* Prepare sqlx

* Update backend/windmill-queue/src/jobs.rs

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

* Fix incorrect query

* Prepare sqlx

* Move insert to pull + UI fixes

Insert as soon as the job is pulled and therefore started.
Add a badge on the lfow timeline to show the self wait time

* Move to after the pull in the worker

Move the logic to after the pull in the worker in the case its not a
noop

* Remove weird line

* Remove unnecessary async

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Ruben Fiszel <ruben@windmill.dev>
2024-06-03 16:05:15 +02:00
Ruben Fiszel 181cb7dec9 fix: further restrict job api to logged in workspace users or anonymous jobs only" (#3860) 2024-06-03 15:13:15 +02:00
Ruben Fiszel 9308e2a63c fix compile issue 2024-05-31 12:30:58 +02:00
Ruben Fiszel a22dc985fa feat: support multiple object storage + parquet_csv + polars -> datafusion" (#3853)
* multiple storage

* all

* rm symlinks

* all

* all
2024-05-31 11:59:51 +02:00
Ruben Fiszel e7763375d6 jemalloc for all 2024-05-29 01:44:37 +02:00
HugoCasa 5d2b244869 fix: worker metrics (#3837)
* fix: worker metrics

* chore: sqlx

* chore: update ee ref

* fix: remove jemalloc stats unwrap
2024-05-29 01:12:00 +02:00
Ruben Fiszel 6166c4d7aa fix: fix retry not working on single step flow due to opt 2024-05-28 10:48:41 +02:00
HugoCasa 621464b550 feat: worker vcpus/memory limits + mem usage (#3828) 2024-05-27 18:43:02 +02:00
Ruben Fiszel 5877727c16 feat: allow user resources in apps with a toggle (#3821)
* all

* all

* all

* all

* all

* all

* all

* all

* all

* all

* nits

* nits
2024-05-27 07:51:49 +02:00
Ruben Fiszel 7a36f30fe3 fix: make all error strings more verbose 2024-05-25 22:15:15 +02:00
Ruben Fiszel 7e0be8914b feat: store failed_retries per module state and display failed retries in flow status viewer 2024-05-23 19:16:26 +02:00
HugoCasa 62f318077c feat: improve permissioned audit logs (#3799)
* fix: increase token label size in db

* Revert "Revert "feat:  improve premissioned audit logs (#3793)" (#3798)"

This reverts commit 43a24d997e.

* feat: add username to email function

* fix: nit

* fix: add docstring to global func
2024-05-23 17:23:50 +02:00
Ruben Fiszel 43a24d997e Revert "feat: improve premissioned audit logs (#3793)" (#3798)
This reverts commit 21a077ecfa.
2024-05-23 11:12:51 +02:00
HugoCasa 21a077ecfa feat: improve premissioned audit logs (#3793)
* feat:  improve premissioned audit logs

* chore: update ee ref

* fix: build

* fix: sqlx
2024-05-23 08:55:48 +02:00
Ruben Fiszel 2883fc9f8e make drop cache not an error 2024-05-22 13:16:53 +02:00
Ruben Fiszel 0268dd1206 fix: drop the linux file cache regularly to avoid triggering OOM killer 2024-05-21 10:21:14 +02:00
Ruben Fiszel d167053878 remove extra tracing 2024-05-20 12:34:15 +02:00
Ruben Fiszel f63c8349f4 sleep handle f64 2024-05-19 22:21:18 +02:00
Ruben Fiszel 5eeadb9240 handle early stop for simple flows 2024-05-19 22:07:06 +02:00
Ruben Fiszel 7a1808e951 feat: reduce memory usage (#3768)
* all

* all

* optimize deserialize

* all

* all

* fix issue

* fix compile

* fix compile

* fix compile

* fix compile

* fix compile

* fix compile

* fix compile

* fix compile

* fix compile

* fix compile
2024-05-19 21:58:38 +02:00
HugoCasa f3b8e01981 fix(backend): prevent immediate cancellation of the error handler when a job is forcibly cancelled (#3751) 2024-05-16 16:53:27 +02:00
wendrul d3942097df Add concurrency limits observability (#3586)
* Add concurrency_key table and field to payload

Add a new table custom_concurrency_key for storing concurrency keys on a
per job basis. Add the field to the job payload to populate the table on
creation of a new job.

* Rename to custom_concurrency_key

Be more explicit about the nature of the option variable by calling it
a more appropriate name.

* Delete concurrency_keys on delete_expire_items

* Propagate db errors up

* Add ref to EE changes

* update sqlx

* Add concurrency_key to tests

* Revert renaming of FlowValue field

FlowValue field concurrency_key must be named concurrency_key for
serialization purposes.

* Remove debug print statement

* Get concurrency_key from Job

Whether it is a Completed job or a queued one, add a ways to get the
associated concurrency key

* Add endpoint to get concurrency_key

* Add endpoint and button to get job concurrency_key

Add a line with a link on the FlowMetadata that goes to the
concurrency_groups page. add endpoint to get the concurrency_key of a
job

* Merge concurrency_key tables into one

migration + change all related querrys

* Add concurrency plot to the runs page

* Prepare sqlx

* Add concurrency Key filter on UI

* Prepare sqlx

* Prepare sqlx

* Fix filter and order query

The limit makes more sense if we cut the older rows, so order by
started_at

* Factor interpolation to reuse on concurrency key

Factor the arg interpolation logic into a function and finish the
processing of concurrency key before insertion

* Remove old concurrency key processing logic

* Second transaction with userdb

To send all concurrency intervals but revealing only uuids of accessible
jobs, make a second transaction with the userdb.

* Remove old second endpoint

the intervals endpoint now also gets the concurrencyt key information
for all jobs

* Show external jobs

* Put filters into a dropdown

Create a ToggleButtonMore and put elements into a dropdown

* Add toggle between two graphs

* Add filter functionality to concurrency graph

* Improve concurrency graph front

* Fix concurrency groups page

* Prepare sqlx

* Add ref to ee

* Change migration to create new table instead

Instead of renaming the custom_concurrency_key_ended atble, we create a
new table and we will delete custom_concurrency_key_ended in the future
when it is no longer linked to any jobs

* Do small UI improvements

* Fix range fusion by not filtering past jobs

Instead of filtering jobs in the backend on a startedAfter value, limit
the query to 1000 and query all possible towards the past to get a good
context for the graph in most sane situations

* Improve frontend UI
2024-05-15 20:15:14 +02:00
Lucian Buzzo 9d0f643dfd fix: resolve typo in bun_executor.rs error message (#3744) 2024-05-15 15:30:26 +02:00
HugoCasa 6e805d8252 feat: add php (#3725)
* feat: add php

* fix: nsjail + frontend build
2024-05-15 08:12:11 +02:00
Ruben Fiszel 6fe050b8c5 feat: improve log storage + expand all logs in a flow 2024-05-14 22:11:52 +02:00
Ruben Fiszel b1a13bea20 fix: bun loader with nsjail 2024-05-14 01:17:13 +02:00