`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.
* Nits on the service logs page
* Show all the hosts returned by query + sumOtherDocCount warning
* Remove from index endpoint
* Fix tests
* Prepare sqlx
* 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
* Search across all hosts in index. killpill on index pull
* Add retention period for service logs
* Remove console log
* monitor log_file when older than biggest retention period (job / log)
* Retention period deletes service and job logs
* Add setting to monitor logs out of s3
* Prepare sqlx
* Update ee repo ref
* Prepare sqlx
* Unused variables
* (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>