AssignmentsObserver

toloka.streaming.observer.AssignmentsObserver | Source code

AssignmentsObserver(
self,
toloka_client: Union[TolokaClient, AsyncTolokaClient],
pool_id: str,
cursor_time_lag: timedelta = ...,
*,
name: Optional[str] = None
)

Observer for the pool's assignment events.

For usage with Pipeline.

Allow to register callbacks using the following methods:

  • on_created
  • on_submitted
  • on_accepted
  • on_rejected
  • on_skipped
  • on_expired

Corresponding assignment events will be passed to the triggered callbacks.

Parameters description

ParametersTypeDescription
toloka_clientAsyncInterfaceWrapper[Union[TolokaClient, AsyncTolokaClient]]

TolokaClient instance or async wrapper around it.

pool_idstr

Pool ID.

cursor_time_lagtimedelta

Time lag for cursor. This controls time lag between assignments being added and them being seen by this observer. See BaseCursor.time_lag for details and reasoning behind this.

Examples:

Send submitted assignments for verification.

def handle_submitted(evets: List[AssignmentEvent]) -> None:
verification_tasks = [create_veridication_task(item.assignment) for item in evets]
toloka_client.create_tasks(verification_tasks, open_pool=True)
observer = AssignmentsObserver(toloka_client, pool_id='123')
observer.on_submitted(handle_submitted)

Methods summary

MethodDescription
get_unique_keyNone
injectNone
on_acceptedNone
on_any_eventNone
on_createdNone
on_expiredNone
on_rejectedNone
on_skippedNone
on_submittedNone
register_callbackRegister given callable for given event type.

Last updated: August 28, 2023

Toloka-Kit
OverviewGetting API keyQuick start
Recipes
Reference
toloka.client
toloka.async_client
toloka.autoquality [autoquality]
toloka.metrics
toloka.streaming