Продовжуйте перервані передачі S3
Godwit Sync зберігає статуси завдань та ID multipart-завантажень у SQLite. Resume повертає до черги незавершені та невдалі завдання, не чіпає завершені обʼєкти й запитує у призначення список наявних multipart-частин.
Resume повторно використовує завершені multipart-частини
Незавершені single-part обʼєкти передаються з нульового байта. Multipart-завантаження використовують збережений upload ID, пропускають прийняті призначенням частини й повторно передають перервану частину.
- Зберігає виконаний прогрес передачі
- Повторює незавершені передачі
- Підтверджує доступ до джерела
- Повторно створює відсутні multipart-сесії
- Продовжує перевірку контрольних сум
# Inspect the tasks that resume will queue again
$ godwit plan list objects pending+running+failed \
--run-id nightly-backup \
--json \
--state-path ./state.db
# Abridged JSON output
[
{
"key": "media/archive-042.tar",
"status": "running",
"version_id": "null"
},
{
"key": "exports/customers.parquet",
"status": "failed",
"error": "destination write interrupted",
"version_id": "null"
}
]Деталі межі відновлення
Які дані передаються повторно після переривання?
Завершені обʼєкти та multipart-частини пропускаються. Перервана multipart-частина надсилається знову, а незавершений single-part обʼєкт передається від початку.
Чи сканує resume бакети повторно?
Ні, resume читає збережений план, не перебудовуючи його та не переглядаючи призначення. Він перевіряє доступ до джерела й читає незавершені обʼєкти для передавання та обчислення контрольної суми.
Що потрібно зберегти для resume?
Зберігайте доступними файл стану SQLite, run ID, джерело та призначення. godwit plan verify --resume використовує той самий run ID і пропускає перевірки, уже записані як успішні.
Інші можливості
Продовжуйте збережений план після переривання.
Зберігайте базу стану й run ID разом із завданням, яке їх створило.