API 概要
Source
class ContextAwareThread
呼び出し元のコンテキストで関数を実行するスレッドです。
これは threading.Thread のドロップインリプレイスメントであり、スレッド内での呼び出しが期待通りに動作することを保証します。 Weave は特定の contextvars が設定されている必要があります(call_context.py を参照)が、新しいスレッドは親からコンテキストを自動的にコピーしないため、コールコンテキストが失われる可能性があります。これは好ましくありません。このクラスは contextvar のコピーを自動化し、このスレッドを使用することで ユーザー が期待する通りに「ただ動作する」ようにします。
このクラスを使わずに、代わりに以下のように記述することでも同様の効果を得ることができます。
method __init__
property daemon
このスレッドがデーモンスレッドであるかどうかを示すブール 値 です。 これはstart() が呼び出される前に設定する必要があり、そうでない場合は RuntimeError が発生します。初期値は作成元のスレッドから継承されます。メインスレッドはデーモンスレッドではないため、メインスレッドで作成されたすべてのスレッドのデフォルトは daemon = False になります。
デーモンスレッドのみが残った時点で、Python プログラム全体が終了します。
property ident
このスレッドのスレッド識別子、または開始されていない場合はNone です。
これは 0 以外の整数です。 get_ident() 関数を参照してください。スレッド識別子は、スレッドが終了して別のスレッドが作成されたときに再利用されることがあります。識別子はスレッドが終了した後でも利用可能です。
property name
識別目的のみに使用される文字列です。 セマンティクスはありません。複数のスレッドに同じ名前を付けることができます。初期名はコンストラクタによって設定されます。property native_id
このスレッドのネイティブな整数スレッド ID、または開始されていない場合はNone です。
これは非負の整数です。 get_native_id() 関数を参照してください。これはカーネルによって報告されるスレッド ID を表します。
Source
method run
Source
class ContextAwareThreadPoolExecutor
呼び出し元のコンテキストで関数を実行する ThreadPoolExecutor です。
これは concurrent.futures.ThreadPoolExecutor のドロップインリプレイスメントであり、エグゼキューター内での Weave の呼び出しが期待通りに動作することを保証します。 Weave は特定の contextvars が設定されている必要があります(call_context.py を参照)が、新しいスレッドは親からコンテキストを自動的にコピーしないため、コールコンテキストが失われる可能性があります。このクラスは contextvar のコピーを自動化し、このエグゼキューターを使用することで ユーザー が期待する通りに「ただ動作する」ようにします。
このクラスを使わずに、代わりに以下のように記述することでも同様の効果を得ることができます。
method __init__
Source
method map
Source
method submit
Source
class ContextAwareThread
呼び出し元のコンテキストで関数を実行するスレッドです。
これは threading.Thread のドロップインリプレイスメントであり、スレッド内での呼び出しが期待通りに動作することを保証します。 Weave は特定の contextvars が設定されている必要があります(call_context.py を参照)が、新しいスレッドは親からコンテキストを自動的にコピーしないため、コールコンテキストが失われる可能性があります。このクラスは contextvar のコピーを自動化し、このスレッドを使用することで ユーザー が期待する通りに「ただ動作する」ようにします。
このクラスを使わずに、代わりに以下のように記述することでも同様の効果を得ることができます。
method __init__
property daemon
このスレッドがデーモンスレッドであるかどうかを示すブール 値 です。 これはstart() が呼び出される前に設定する必要があり、そうでない場合は RuntimeError が発生します。初期値は作成元のスレッドから継承されます。メインスレッドはデーモンスレッドではないため、メインスレッドで作成されたすべてのスレッドのデフォルトは daemon = False になります。
デーモンスレッドのみが残った時点で、Python プログラム全体が終了します。
property ident
このスレッドのスレッド識別子、または開始されていない場合はNone です。
これは 0 以外の整数です。 get_ident() 関数を参照してください。スレッド識別子は、スレッドが終了して別のスレッドが作成されたときに再利用されることがあります。識別子はスレッドが終了した後でも利用可能です。
property name
識別目的のみに使用される文字列です。 セマンティクスはありません。複数のスレッドに同じ名前を付けることができます。初期名はコンストラクタによって設定されます。property native_id
このスレッドのネイティブな整数スレッド ID、または開始されていない場合はNone です。
これは非負の整数です。 get_native_id() 関数を参照してください。これはカーネルによって報告されるスレッド ID を表します。
Source
method run
Source
class ContextAwareThreadPoolExecutor
呼び出し元のコンテキストで関数を実行する ThreadPoolExecutor です。
これは concurrent.futures.ThreadPoolExecutor のドロップインリプレイスメントであり、エグゼキューター内での Weave の呼び出しが期待通りに動作することを保証します。 Weave は特定の contextvars が設定されている必要があります(call_context.py を参照)が、新しいスレッドは親からコンテキストを自動的にコピーしないため、コールコンテキストが失われる可能性があります。このクラスは contextvar のコピーを自動化し、このエグゼキューターを使用することで ユーザー が期待する通りに「ただ動作する」ようにします。
このクラスを使わずに、代わりに以下のように記述することでも同様の効果を得ることができます。
method __init__
Source
method map
Source
method submit
Source
function deprecated
new_name にリダイレクトするためのデコレータです。
Source
function is_colab
Source
function is_notebook
Source
function log_once
log_method: メッセージの ログ 記録に使用する メソッド。これは文字列の 引数 を受け取る必要があります。message: ログ 記録するメッセージ。 例: