Skip to content

archivebox.actors.actor

Nick Sweeting edited this page Nov 18, 2024 · 3 revisions

{py:mod}archivebox.actors.actor

:allowtitles:

Module Contents

Classes

:class: autosummary longtable
:align: left

* - {py:obj}`ActorType <archivebox.actors.actor.ActorType>`
  - ```{autodoc2-docstring} archivebox.actors.actor.ActorType
    :summary:
    ```

Functions

:class: autosummary longtable
:align: left

* - {py:obj}`compile_sql_select <archivebox.actors.actor.compile_sql_select>`
  - ```{autodoc2-docstring} archivebox.actors.actor.compile_sql_select
    :summary:
    ```
* - {py:obj}`compile_sql_update <archivebox.actors.actor.compile_sql_update>`
  - ```{autodoc2-docstring} archivebox.actors.actor.compile_sql_update
    :summary:
    ```

Data

:class: autosummary longtable
:align: left

* - {py:obj}`CPU_COUNT <archivebox.actors.actor.CPU_COUNT>`
  - ```{autodoc2-docstring} archivebox.actors.actor.CPU_COUNT
    :summary:
    ```
* - {py:obj}`DEFAULT_MAX_TICK_TIME <archivebox.actors.actor.DEFAULT_MAX_TICK_TIME>`
  - ```{autodoc2-docstring} archivebox.actors.actor.DEFAULT_MAX_TICK_TIME
    :summary:
    ```
* - {py:obj}`DEFAULT_MAX_CONCURRENT_ACTORS <archivebox.actors.actor.DEFAULT_MAX_CONCURRENT_ACTORS>`
  - ```{autodoc2-docstring} archivebox.actors.actor.DEFAULT_MAX_CONCURRENT_ACTORS
    :summary:
    ```
* - {py:obj}`limit <archivebox.actors.actor.limit>`
  - ```{autodoc2-docstring} archivebox.actors.actor.limit
    :summary:
    ```
* - {py:obj}`LaunchKwargs <archivebox.actors.actor.LaunchKwargs>`
  - ```{autodoc2-docstring} archivebox.actors.actor.LaunchKwargs
    :summary:
    ```
* - {py:obj}`ObjectState <archivebox.actors.actor.ObjectState>`
  - ```{autodoc2-docstring} archivebox.actors.actor.ObjectState
    :summary:
    ```
* - {py:obj}`ObjectStateList <archivebox.actors.actor.ObjectStateList>`
  - ```{autodoc2-docstring} archivebox.actors.actor.ObjectStateList
    :summary:
    ```
* - {py:obj}`ModelType <archivebox.actors.actor.ModelType>`
  - ```{autodoc2-docstring} archivebox.actors.actor.ModelType
    :summary:
    ```

API

:canonical: archivebox.actors.actor.ActorObjectAlreadyClaimed

Bases: {py:obj}`Exception`

```{autodoc2-docstring} archivebox.actors.actor.ActorObjectAlreadyClaimed
```

```{rubric} Initialization
```

```{autodoc2-docstring} archivebox.actors.actor.ActorObjectAlreadyClaimed.__init__
```

:canonical: archivebox.actors.actor.ActorQueueIsEmpty

Bases: {py:obj}`Exception`

```{autodoc2-docstring} archivebox.actors.actor.ActorQueueIsEmpty
```

```{rubric} Initialization
```

```{autodoc2-docstring} archivebox.actors.actor.ActorQueueIsEmpty.__init__
```

:canonical: archivebox.actors.actor.CPU_COUNT
:value: >
   'cpu_count(...)'

```{autodoc2-docstring} archivebox.actors.actor.CPU_COUNT
```

:canonical: archivebox.actors.actor.DEFAULT_MAX_TICK_TIME
:value: >
   60

```{autodoc2-docstring} archivebox.actors.actor.DEFAULT_MAX_TICK_TIME
```

:canonical: archivebox.actors.actor.DEFAULT_MAX_CONCURRENT_ACTORS
:value: >
   'min(...)'

```{autodoc2-docstring} archivebox.actors.actor.DEFAULT_MAX_CONCURRENT_ACTORS
```

:canonical: archivebox.actors.actor.limit
:value: >
   None

```{autodoc2-docstring} archivebox.actors.actor.limit
```

:canonical: archivebox.actors.actor.LaunchKwargs
:value: >
   None

```{autodoc2-docstring} archivebox.actors.actor.LaunchKwargs
```

:canonical: archivebox.actors.actor.ObjectState
:value: >
   None

```{autodoc2-docstring} archivebox.actors.actor.ObjectState
```

:canonical: archivebox.actors.actor.ObjectStateList
:value: >
   None

```{autodoc2-docstring} archivebox.actors.actor.ObjectStateList
```

:canonical: archivebox.actors.actor.ModelType
:value: >
   'TypeVar(...)'

```{autodoc2-docstring} archivebox.actors.actor.ModelType
```

:canonical: archivebox.actors.actor.ActorType

Bases: {py:obj}`typing.Generic`\[{py:obj}`archivebox.actors.actor.ModelType`\]

```{autodoc2-docstring} archivebox.actors.actor.ActorType
```

```{rubric} Initialization
```

```{autodoc2-docstring} archivebox.actors.actor.ActorType.__init__
```

````{py:attribute} Model
:canonical: archivebox.actors.actor.ActorType.Model
:type: typing.Type[archivebox.actors.actor.ModelType]
:value: >
   None

```{autodoc2-docstring} archivebox.actors.actor.ActorType.Model
```

````

````{py:attribute} StateMachineClass
:canonical: archivebox.actors.actor.ActorType.StateMachineClass
:type: typing.Type[statemachine.StateMachine]
:value: >
   None

```{autodoc2-docstring} archivebox.actors.actor.ActorType.StateMachineClass
```

````

````{py:attribute} STATE_FIELD_NAME
:canonical: archivebox.actors.actor.ActorType.STATE_FIELD_NAME
:type: typing.ClassVar[str]
:value: >
   'status'

```{autodoc2-docstring} archivebox.actors.actor.ActorType.STATE_FIELD_NAME
```

````

````{py:attribute} ACTIVE_STATE
:canonical: archivebox.actors.actor.ActorType.ACTIVE_STATE
:type: typing.ClassVar[archivebox.actors.actor.ObjectState]
:value: >
   'started'

```{autodoc2-docstring} archivebox.actors.actor.ActorType.ACTIVE_STATE
```

````

````{py:attribute} FINAL_STATES
:canonical: archivebox.actors.actor.ActorType.FINAL_STATES
:type: typing.ClassVar[archivebox.actors.actor.ObjectStateList]
:value: >
   None

```{autodoc2-docstring} archivebox.actors.actor.ActorType.FINAL_STATES
```

````

````{py:attribute} EVENT_NAME
:canonical: archivebox.actors.actor.ActorType.EVENT_NAME
:type: typing.ClassVar[str]
:value: >
   'tick'

```{autodoc2-docstring} archivebox.actors.actor.ActorType.EVENT_NAME
```

````

````{py:attribute} CLAIM_ORDER
:canonical: archivebox.actors.actor.ActorType.CLAIM_ORDER
:type: typing.ClassVar[tuple[str, ...]]
:value: >
   ('retry_at',)

```{autodoc2-docstring} archivebox.actors.actor.ActorType.CLAIM_ORDER
```

````

````{py:attribute} CLAIM_FROM_TOP_N
:canonical: archivebox.actors.actor.ActorType.CLAIM_FROM_TOP_N
:type: typing.ClassVar[int]
:value: >
   None

```{autodoc2-docstring} archivebox.actors.actor.ActorType.CLAIM_FROM_TOP_N
```

````

````{py:attribute} CLAIM_ATOMIC
:canonical: archivebox.actors.actor.ActorType.CLAIM_ATOMIC
:type: typing.ClassVar[bool]
:value: >
   True

```{autodoc2-docstring} archivebox.actors.actor.ActorType.CLAIM_ATOMIC
```

````

````{py:attribute} MAX_TICK_TIME
:canonical: archivebox.actors.actor.ActorType.MAX_TICK_TIME
:type: typing.ClassVar[int]
:value: >
   None

```{autodoc2-docstring} archivebox.actors.actor.ActorType.MAX_TICK_TIME
```

````

````{py:attribute} MAX_CONCURRENT_ACTORS
:canonical: archivebox.actors.actor.ActorType.MAX_CONCURRENT_ACTORS
:type: typing.ClassVar[int]
:value: >
   None

```{autodoc2-docstring} archivebox.actors.actor.ActorType.MAX_CONCURRENT_ACTORS
```

````

````{py:attribute} _SPAWNED_ACTOR_PIDS
:canonical: archivebox.actors.actor.ActorType._SPAWNED_ACTOR_PIDS
:type: typing.ClassVar[list[psutil.Process]]
:value: >
   []

```{autodoc2-docstring} archivebox.actors.actor.ActorType._SPAWNED_ACTOR_PIDS
```

````

````{py:attribute} pid
:canonical: archivebox.actors.actor.ActorType.pid
:type: int
:value: >
   None

```{autodoc2-docstring} archivebox.actors.actor.ActorType.pid
```

````

````{py:attribute} idle_count
:canonical: archivebox.actors.actor.ActorType.idle_count
:type: int
:value: >
   0

```{autodoc2-docstring} archivebox.actors.actor.ActorType.idle_count
```

````

````{py:attribute} launch_kwargs
:canonical: archivebox.actors.actor.ActorType.launch_kwargs
:type: archivebox.actors.actor.LaunchKwargs
:value: >
   None

```{autodoc2-docstring} archivebox.actors.actor.ActorType.launch_kwargs
```

````

````{py:attribute} mode
:canonical: archivebox.actors.actor.ActorType.mode
:type: typing.Literal[thread, process]
:value: >
   'process'

```{autodoc2-docstring} archivebox.actors.actor.ActorType.mode
```

````

````{py:method} __init_subclass__() -> None
:canonical: archivebox.actors.actor.ActorType.__init_subclass__
:classmethod:

```{autodoc2-docstring} archivebox.actors.actor.ActorType.__init_subclass__
```

````

````{py:method} name() -> str
:canonical: archivebox.actors.actor.ActorType.name

```{autodoc2-docstring} archivebox.actors.actor.ActorType.name
```

````

````{py:method} __str__() -> str
:canonical: archivebox.actors.actor.ActorType.__str__

````

````{py:method} __repr__() -> str
:canonical: archivebox.actors.actor.ActorType.__repr__

```{autodoc2-docstring} archivebox.actors.actor.ActorType.__repr__
```

````

````{py:method} _state_to_str(state: archivebox.actors.actor.ObjectState) -> str
:canonical: archivebox.actors.actor.ActorType._state_to_str
:staticmethod:

```{autodoc2-docstring} archivebox.actors.actor.ActorType._state_to_str
```

````

````{py:method} _sql_for_select_top_n_candidates(qs: django.db.models.QuerySet, claim_from_top_n: int = CLAIM_FROM_TOP_N) -> tuple[str, tuple[typing.Any, ...]]
:canonical: archivebox.actors.actor.ActorType._sql_for_select_top_n_candidates
:staticmethod:

```{autodoc2-docstring} archivebox.actors.actor.ActorType._sql_for_select_top_n_candidates
```

````

````{py:method} _sql_for_update_claimed_obj(qs: django.db.models.QuerySet, update_kwargs: dict[str, typing.Any]) -> tuple[str, tuple[typing.Any, ...]]
:canonical: archivebox.actors.actor.ActorType._sql_for_update_claimed_obj
:staticmethod:

```{autodoc2-docstring} archivebox.actors.actor.ActorType._sql_for_update_claimed_obj
```

````

````{py:method} _get_model_from_generic_typevar() -> typing.Type[archivebox.actors.actor.ModelType]
:canonical: archivebox.actors.actor.ActorType._get_model_from_generic_typevar
:classmethod:

```{autodoc2-docstring} archivebox.actors.actor.ActorType._get_model_from_generic_typevar
```

````

````{py:method} _get_state_machine_cls(Model: typing.Type[archivebox.actors.actor.ModelType]) -> typing.Type[archivebox.actors.actor.ActorType._get_state_machine_cls.StateMachine]
:canonical: archivebox.actors.actor.ActorType._get_state_machine_cls
:staticmethod:

```{autodoc2-docstring} archivebox.actors.actor.ActorType._get_state_machine_cls
```

````

````{py:method} _get_state_machine_instance(obj: archivebox.actors.actor.ModelType) -> statemachine.StateMachine
:canonical: archivebox.actors.actor.ActorType._get_state_machine_instance
:classmethod:

```{autodoc2-docstring} archivebox.actors.actor.ActorType._get_state_machine_instance
```

````

````{py:method} _populate_missing_classvars_from_model(Model: typing.Type[archivebox.actors.actor.ModelType])
:canonical: archivebox.actors.actor.ActorType._populate_missing_classvars_from_model
:classmethod:

```{autodoc2-docstring} archivebox.actors.actor.ActorType._populate_missing_classvars_from_model
```

````

````{py:method} _fork_actor_as_thread(**launch_kwargs: archivebox.actors.actor.LaunchKwargs) -> int
:canonical: archivebox.actors.actor.ActorType._fork_actor_as_thread
:classmethod:

```{autodoc2-docstring} archivebox.actors.actor.ActorType._fork_actor_as_thread
```

````

````{py:method} _fork_actor_as_process(**launch_kwargs: archivebox.actors.actor.LaunchKwargs) -> int
:canonical: archivebox.actors.actor.ActorType._fork_actor_as_process
:classmethod:

```{autodoc2-docstring} archivebox.actors.actor.ActorType._fork_actor_as_process
```

````

````{py:method} get_running_actors() -> list[int]
:canonical: archivebox.actors.actor.ActorType.get_running_actors
:classmethod:

```{autodoc2-docstring} archivebox.actors.actor.ActorType.get_running_actors
```

````

````{py:method} get_actors_to_spawn(queue: django.db.models.QuerySet, running_actors: list[int]) -> list[archivebox.actors.actor.LaunchKwargs]
:canonical: archivebox.actors.actor.ActorType.get_actors_to_spawn
:classmethod:

```{autodoc2-docstring} archivebox.actors.actor.ActorType.get_actors_to_spawn
```

````

````{py:method} start(mode: typing.Literal[thread, process] = 'process', **launch_kwargs: archivebox.actors.actor.LaunchKwargs) -> int
:canonical: archivebox.actors.actor.ActorType.start
:classmethod:

```{autodoc2-docstring} archivebox.actors.actor.ActorType.start
```

````

````{py:method} qs() -> django.db.models.QuerySet[archivebox.actors.actor.ModelType]
:canonical: archivebox.actors.actor.ActorType.qs

```{autodoc2-docstring} archivebox.actors.actor.ActorType.qs
```

````

````{py:method} final_q() -> django.db.models.Q
:canonical: archivebox.actors.actor.ActorType.final_q

```{autodoc2-docstring} archivebox.actors.actor.ActorType.final_q
```

````

````{py:method} active_q() -> django.db.models.Q
:canonical: archivebox.actors.actor.ActorType.active_q

```{autodoc2-docstring} archivebox.actors.actor.ActorType.active_q
```

````

````{py:method} stalled_q() -> django.db.models.Q
:canonical: archivebox.actors.actor.ActorType.stalled_q

```{autodoc2-docstring} archivebox.actors.actor.ActorType.stalled_q
```

````

````{py:method} future_q() -> django.db.models.Q
:canonical: archivebox.actors.actor.ActorType.future_q

```{autodoc2-docstring} archivebox.actors.actor.ActorType.future_q
```

````

````{py:method} pending_q() -> django.db.models.Q
:canonical: archivebox.actors.actor.ActorType.pending_q

```{autodoc2-docstring} archivebox.actors.actor.ActorType.pending_q
```

````

````{py:method} get_queue(sort: bool = True) -> django.db.models.QuerySet[archivebox.actors.actor.ModelType]
:canonical: archivebox.actors.actor.ActorType.get_queue
:classmethod:

```{autodoc2-docstring} archivebox.actors.actor.ActorType.get_queue
```

````

````{py:method} runloop()
:canonical: archivebox.actors.actor.ActorType.runloop

```{autodoc2-docstring} archivebox.actors.actor.ActorType.runloop
```

````

````{py:method} get_update_kwargs_to_claim_obj() -> dict[str, typing.Any]
:canonical: archivebox.actors.actor.ActorType.get_update_kwargs_to_claim_obj
:classmethod:

```{autodoc2-docstring} archivebox.actors.actor.ActorType.get_update_kwargs_to_claim_obj
```

````

````{py:method} get_next(atomic: bool | None = None) -> archivebox.actors.actor.ModelType | None
:canonical: archivebox.actors.actor.ActorType.get_next

```{autodoc2-docstring} archivebox.actors.actor.ActorType.get_next
```

````

````{py:method} get_next_non_atomic() -> archivebox.actors.actor.ModelType
:canonical: archivebox.actors.actor.ActorType.get_next_non_atomic

```{autodoc2-docstring} archivebox.actors.actor.ActorType.get_next_non_atomic
```

````

````{py:method} get_next_atomic() -> archivebox.actors.actor.ModelType | None
:canonical: archivebox.actors.actor.ActorType.get_next_atomic

```{autodoc2-docstring} archivebox.actors.actor.ActorType.get_next_atomic
```

````

````{py:method} tick(obj_to_process: archivebox.actors.actor.ModelType) -> None
:canonical: archivebox.actors.actor.ActorType.tick

```{autodoc2-docstring} archivebox.actors.actor.ActorType.tick
```

````

````{py:method} on_startup() -> None
:canonical: archivebox.actors.actor.ActorType.on_startup

```{autodoc2-docstring} archivebox.actors.actor.ActorType.on_startup
```

````

````{py:method} on_shutdown(last_obj: archivebox.actors.actor.ModelType | None = None, last_error: BaseException | None = None) -> None
:canonical: archivebox.actors.actor.ActorType.on_shutdown

```{autodoc2-docstring} archivebox.actors.actor.ActorType.on_shutdown
```

````

````{py:method} on_tick_start(obj_to_process: archivebox.actors.actor.ModelType) -> None
:canonical: archivebox.actors.actor.ActorType.on_tick_start

```{autodoc2-docstring} archivebox.actors.actor.ActorType.on_tick_start
```

````

````{py:method} on_tick_end(obj_to_process: archivebox.actors.actor.ModelType) -> None
:canonical: archivebox.actors.actor.ActorType.on_tick_end

```{autodoc2-docstring} archivebox.actors.actor.ActorType.on_tick_end
```

````

````{py:method} on_tick_exception(obj_to_process: archivebox.actors.actor.ModelType, error: Exception) -> None
:canonical: archivebox.actors.actor.ActorType.on_tick_exception

```{autodoc2-docstring} archivebox.actors.actor.ActorType.on_tick_exception
```

````

:canonical: archivebox.actors.actor.compile_sql_select

```{autodoc2-docstring} archivebox.actors.actor.compile_sql_select
```
:canonical: archivebox.actors.actor.compile_sql_update

```{autodoc2-docstring} archivebox.actors.actor.compile_sql_update
```
Clone this wiki locally
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy