MCPcopy Create free account
hub / github.com/apify/crawlee-python / __init__

Method __init__

src/crawlee/events/_event_manager.py:63–97  ·  view source on GitHub ↗

Initialize a new instance. Args: persist_state_interval: Interval between emitted `PersistState` events to maintain state persistence. close_timeout: Optional timeout for canceling pending event listeners if they exceed this duration.

(
        self,
        *,
        persist_state_interval: timedelta = timedelta(minutes=1),
        close_timeout: timedelta | None = None,
    )

Source from the content-addressed store, hash-verified

61 """
62
63 def __init__(
64 self,
65 *,
66 persist_state_interval: timedelta = timedelta(minutes=1),
67 close_timeout: timedelta | None = None,
68 ) -> None:
69 """Initialize a new instance.
70
71 Args:
72 persist_state_interval: Interval between emitted `PersistState` events to maintain state persistence.
73 close_timeout: Optional timeout for canceling pending event listeners if they exceed this duration.
74 """
75 self._persist_state_interval = persist_state_interval
76 self._close_timeout = close_timeout
77
78 # Asynchronous event emitter for handle events and invoke the event listeners.
79 self._event_emitter = AsyncIOEventEmitter()
80
81 # Listeners are wrapped inside asyncio.Task. Store their references here so that we can wait for them to finish.
82 self._listener_tasks: set[asyncio.Task] = set()
83
84 # Store the mapping between events, listeners and their wrappers in the following way:
85 # event -> listener -> [wrapped_listener_1, wrapped_listener_2, ...]
86 self._listeners_to_wrappers: dict[Event, dict[EventListener[Any], list[WrappedListener]]] = defaultdict(
87 lambda: defaultdict(list),
88 )
89
90 # Recurring task for emitting persist state events.
91 self._emit_persist_state_event_rec_task = RecurringTask(
92 func=self._emit_persist_state_event,
93 delay=self._persist_state_interval,
94 )
95
96 # Reference count for active contexts.
97 self._active_ref_count = 0
98
99 @property
100 def active(self) -> bool:

Callers

nothing calls this directly

Calls 1

RecurringTaskClass · 0.90

Tested by

no test coverage detected