:canonical: archivebox.workers.worker.SnapshotWorker
Bases: {py:obj}`archivebox.workers.worker.Worker`
```{autodoc2-docstring} archivebox.workers.worker.SnapshotWorker
```
```{rubric} Initialization
```
```{autodoc2-docstring} archivebox.workers.worker.SnapshotWorker.__init__
```
````{py:attribute} name
:canonical: archivebox.workers.worker.SnapshotWorker.name
:type: typing.ClassVar[str]
:value: >
'snapshot'
```{autodoc2-docstring} archivebox.workers.worker.SnapshotWorker.name
```
````
````{py:method} get_model()
:canonical: archivebox.workers.worker.SnapshotWorker.get_model
```{autodoc2-docstring} archivebox.workers.worker.SnapshotWorker.get_model
```
````
````{py:method} on_startup() -> None
:canonical: archivebox.workers.worker.SnapshotWorker.on_startup
```{autodoc2-docstring} archivebox.workers.worker.SnapshotWorker.on_startup
```
````
````{py:method} runloop() -> None
:canonical: archivebox.workers.worker.SnapshotWorker.runloop
```{autodoc2-docstring} archivebox.workers.worker.SnapshotWorker.runloop
```
````
````{py:method} _run_hook(hook_path: pathlib.Path, ar: typing.Any, config: dict) -> typing.Any
:canonical: archivebox.workers.worker.SnapshotWorker._run_hook
```{autodoc2-docstring} archivebox.workers.worker.SnapshotWorker._run_hook
```
````
````{py:method} _wait_for_hook(process: typing.Any, ar: typing.Any) -> None
:canonical: archivebox.workers.worker.SnapshotWorker._wait_for_hook
```{autodoc2-docstring} archivebox.workers.worker.SnapshotWorker._wait_for_hook
```
````
````{py:method} _retry_failed_empty_foreground_hooks(hooks: list[tuple[pathlib.Path, typing.Any]], config: dict) -> None
:canonical: archivebox.workers.worker.SnapshotWorker._retry_failed_empty_foreground_hooks
```{autodoc2-docstring} archivebox.workers.worker.SnapshotWorker._retry_failed_empty_foreground_hooks
```
````
````{py:method} _finalize_background_hooks() -> None
:canonical: archivebox.workers.worker.SnapshotWorker._finalize_background_hooks
```{autodoc2-docstring} archivebox.workers.worker.SnapshotWorker._finalize_background_hooks
```
````
````{py:method} _reap_background_hooks() -> None
:canonical: archivebox.workers.worker.SnapshotWorker._reap_background_hooks
```{autodoc2-docstring} archivebox.workers.worker.SnapshotWorker._reap_background_hooks
```
````
````{py:method} _snapshot_exceeded_hard_timeout() -> bool
:canonical: archivebox.workers.worker.SnapshotWorker._snapshot_exceeded_hard_timeout
```{autodoc2-docstring} archivebox.workers.worker.SnapshotWorker._snapshot_exceeded_hard_timeout
```
````
````{py:method} _seal_snapshot_due_to_timeout() -> None
:canonical: archivebox.workers.worker.SnapshotWorker._seal_snapshot_due_to_timeout
```{autodoc2-docstring} archivebox.workers.worker.SnapshotWorker._seal_snapshot_due_to_timeout
```
````
````{py:method} on_shutdown(error: BaseException | None = None) -> None
:canonical: archivebox.workers.worker.SnapshotWorker.on_shutdown
```{autodoc2-docstring} archivebox.workers.worker.SnapshotWorker.on_shutdown
```
````
````{py:method} _extract_plugin_name(hook_path: pathlib.Path, hook_name: str) -> str
:canonical: archivebox.workers.worker.SnapshotWorker._extract_plugin_name
:staticmethod:
```{autodoc2-docstring} archivebox.workers.worker.SnapshotWorker._extract_plugin_name
```
````