Skip to content

feat(warmup)!: Add warmup wait command - #379

Merged
aawsome merged 3 commits into
rustic-rs:mainfrom
tinou98:main
Dec 11, 2024
Merged

aawsome merged 3 commits into
rustic-rs:mainfrom
tinou98:main

Conversation

@tinou98

@tinou98 tinou98 commented Dec 4, 2024

Copy link
Copy Markdown
Contributor

This allows to programmatically (with script) wait for elements to be ready, instead of hardcoding a duration.

Scripts examples

Warm-up:

KEY="data/${1:0:2}/$1";
if [ "$(aws s3api head-object --bucket cold --key "$KEY" --query StorageClass)" == '"GLACIER"' ]
then
    aws s3api restore-object --restore-request Days=7 --bucket cold --key "$KEY"
fi

Warm-up wait:

KEY="data/${1:0:2}/$1";
until [ "$(aws s3api head-object --bucket cold --key "$KEY" --query StorageClass)" != '"GLACIER"' ]
do
    sleep 60s
done

This is a simple version that will wait for each object sequentially (but that shouldn't be a problem as all warm up request are done in a first pass, and thus runs in parallel).

I'm up for discussion if another model looks good, like

  • moving the loop in the lib, and the wait script just check if the file is ready
  • having only one script, that warm-up and then return the status

Comment thread crates/core/src/repository.rs Resolved
This allow to programatically (with script) wait for elements to be
ready
Signed-off-by: MATILLAT Quentin <qmatillat@gmail.com>
Signed-off-by: MATILLAT Quentin <qmatillat@gmail.com>
@aawsome aawsome changed the title feat(warmup): Add warmup wait command feat(warmup)!: Add warmup wait command Dec 10, 2024
@aawsome
aawsome added this pull request to the merge queue Dec 10, 2024
Merged via the queue into rustic-rs:main with commit fe2a9bd Dec 11, 2024
@rustic-release-plz rustic-release-plz Bot mentioned this pull request Dec 11, 2024
@rustic-release-plz rustic-release-plz Bot mentioned this pull request Jun 29, 2025
github-merge-queue Bot pushed a commit that referenced this pull request Sep 12, 2025
## 🤖 New release
* `rustic_backend`: 0.5.2 -> 0.5.3 (✓ API compatible changes)
* `rustic_core`: 0.7.3 -> 0.8.0 (✓ API compatible changes)
* `rustic_testing`: 0.3.2 -> 0.3.3 (✓ API compatible changes)
* `rustic_config`: 0.2.2 -> 0.2.3 (✓ API compatible changes)

<details><summary><i><b>Changelog</b></i></summary><p>

## `rustic_backend`
<blockquote>

##
[0.5.3](rustic_backend-v0.5.2...rustic_backend-v0.5.3)
- 2025-09-12

### Fixed

- fix clippy lints
([#407](#407))
- *(deps)* lock file maintenance rust dependencies (#389)

### Other

- update dependencies
([#428](#428))
- update to 2024 edition and fix clippy lints (#399)
- update dependencies and fix clippy lints / remove opendal::ftp support
(#405)
- Update opendal to 0.51.0 (#391)
</blockquote>

## `rustic_core`
<blockquote>

##
[0.8.0](rustic_core-v0.7.3...rustic_core-v0.8.0)
- 2025-09-12

### Added

- Add fixed size chunking and allow fine-tune of rabin chunking (#422)
- Add env argument to the run function of command input (#420)
- Show processed file when chunker gives an error (#421)
- snapshots can be identified with latest~N (N >= 0) (#416)
- expose Tree::serialize method
- *(repository)* add progress_bars method
- *(repository)* Add find_ids and stream_files_list (#411)
- *(commands)* Add delete_unchanged option to forget (#386)
- *(commands)* [**breaking**] rename backup skip_identical_parent to
skip_if_unchanged (#387)
- *(warmup)* [**breaking**] Add warmup wait command (#379)

### Fixed

- Make example for time format even more explicit (#425)
- Add example for time format (#424)
- fix clippy lints
([#423](#423))
- [**breaking**] Allow to unset append-only mode (#414)
- improve handling of u32 conversions (#412)
- *(repository)* use KeyId in delete_key() (#410)
- Fix repair index (#406)
- Allow to request identical snapshot multiple times (#408)
- fix clippy lints
([#407](#407))
- fix clippy lints
- [**breaking**] Don't panic when reading empty files (#381)

### Other

- update dependencies
([#428](#428))
- Add SnapshotFile::from_strs() to search for multiple snapshots
([#419](#419))
- *(repository)* [**breaking**] Add more control over used keys (#383)
- update to 2024 edition and fix clippy lints (#399)
- update dependencies and fix clippy lints / remove opendal::ftp support
(#405)
</blockquote>

## `rustic_testing`
<blockquote>

##
[0.3.3](rustic_testing-v0.3.2...rustic_testing-v0.3.3)
- 2025-09-12

### Other

- update to 2024 edition and fix clippy lints (#399)
- update dependencies and fix clippy lints / remove opendal::ftp support
(#405)
</blockquote>

## `rustic_config`
<blockquote>

##
[0.2.3](rustic_config-v0.2.2...rustic_config-v0.2.3)
- 2025-09-12

### Other

- update to 2024 edition and fix clippy lints (#399)
</blockquote>


</p></details>

---
This PR was generated with
[release-plz](https://github.com/release-plz/release-plz/).

Co-authored-by: rustic-release-plz[bot] <182542030+rustic-release-plz[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants