問題タブ [pykka]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3411 参照

python - pykka-俳優は遅いですか?

これについてもっと知りたいので、私は現在Actor-concurreny(Python上で)を実験しています。したがって、私はを選択しましたが、テストすると、通常の機能の半分以上の速度pykkaで動作します。

コードは、それが機能するかどうかを確認するためだけのものです。エレガントなものではありません。:)

多分私は何か間違ったことをしましたか?

これはそれほど速くは実行されません:

そして今、ダミーの「通常の」関数:

この結果が得られます:

0 投票する
1 に答える
224 参照

python - Pykka: アクターの基本クラスを取得する

私はpykka pythonライブラリを使用しています。アクターを作成し、後で作成したアクターが適切なクラスであるかどうかをテストしたいと思います。

ここactor.__class__にありpykka.actor.ActorRefます。MyActorクラスを参照しているかどうかを確認する方法は? 単体テスト スイートに必要です。

0 投票する
1 に答える
110 参照

python - Pykka のログをコンソールに直接出力する方法は?

Pykka は というロガーにログを記録しpykkaます。特に Mamba で記述された Pykka でアクターを開始および停止するテストを実行する場合は、すべての例外、デバッグ メッセージをコンソールに出力する必要があります。

どうすればいいですか?

0 投票する
0 に答える
548 参照

python - Pykka と PyQt を使用したアクターベースの GUI

バックグラウンド:

これは本当にアーキテクチャの問題です。

現在LabViewで書かれているアプリケーションをPythonに移植しようとしています。これは、基本的に一連の異種ハードウェアを調整してテストを実行するハードウェア制御および測定アプリケーションです。

アクターの抽象化は、多数の並列ハードウェア タスクを編成するのに特に適しているように思われるため、Python アプリケーションを Pykka に基づいて作成することを検討しています (LabView アプリは LV アクター フレームワークを使用します)。

アプリケーションには GUI が必要です。ここでは、PyQt と PyQtGraph が非常に有望です。

問題

Pykka と PyQt はイベント ループを中心に構築されており、スレッド化とスレッド間通信について異なる考えを持っています。Pykka アクターが PyQt を使用してインターフェイスを表示できるようにコードを構成する方法がわかりません。Pykka イベント ループを変更して PyQt の processEvents() を呼び出し、QProcess で実装されるように pykka.Actor をサブクラス化し、Pykka アクターがスタンドアロン スレッドへの参照を保持するようにしました。私は満足のいく結果を出すことができませんでした.それは、私が両方のライブラリに少し慣れていないためです.

PyQt GUI を表示および管理する Pykka アクターを構築するにはどうすればよいですか?

(ps「君はクレイジーだ」の回答大歓迎です!)

0 投票する
1 に答える
436 参照

python - Pykka: 停止されたアクターの保留中のメッセージ キューをキャンセルする方法

私はPykkaアクター ライブラリで遊んでいて、次の素晴らしいばかげた例を思いつきました。

期待される結果が得られます: 10がすぐに印刷され、別の 10 行がそれぞれ 1 秒間に印刷されます。

すべてのリクエストがアクターによって処理された後、アクションTrueの結果として出力されます。stop

アクターを停止して、リマイニング メッセージの受信と処理をキャンセルすることは可能でしょうか。

ライブラリのドキュメントを確認しましたが、見つけることができるのはblockstop パラメーターだけです。これはまったく異なることを意味します。これを設定するFalseと、呼び出しは非同期になりますが、メッセージ キューに関する動作は同じです。

停止 (ブロック = True、タイムアウト = なし)

アクターに停止を求めるメッセージを送信します。

アクターが停止しているか、呼び出し時に停止中であった場合は True を返します。アクターがすでに死んでいた場合は false。block が False の場合、結果をラップする future を返します。

アクターが停止を要求される前にアクターに送信されたメッセージは、停止する前に通常どおり処理されます。

アクターが停止を要求された後にアクターに送信されたメッセージは、停止後に pykka.ActorDeadError で応答されます。

アクターが再起動されない可能性があります。

ブロックとタイムアウトは、ask() と同じように機能します。

戻り値: pykka.Future、またはブロックしている場合はブール値の結果

0 投票する
1 に答える
747 参照

python - RabbitMQ メッセージを Pykka アクターに送信するには?

2015 年 8 月の更新: メッセージングを使用したい人には、現在 zeromq をお勧めします。pykka に加えて、または pykka の完全な代替として使用できます。

メッセージの RabbitMQ キューをリッスンし、Pykka 内のアクターに転送するにはどうすればよいですか?

現在、そうしようとすると、奇妙な動作が発生し、システムが停止します。

アクターを実装する方法は次のとおりです。

そして、ここApplicationServiceに新しいメッセージのキューをチェックすることになっているクラス内の私のメソッドがあります:

start_consuming無期限にブロックしているようです。自分で定期的にキューを「ポーリング」する方法はありますか?

0 投票する
0 に答える
843 参照

java - Java-Akka と Pykka の間でどのように尋ねたり伝えたりするのですか?

以下に示すように、 Akka アクターの Java 実装があります。

メソッドpython script内でいくつか呼び出す必要があります。onReceivePython コードを再びアクターにしたかったのです。その場合、それはを使用して実装されますPykka.

もしそうなら、このJavaアクターとPykkaアクターをどのように伝えたり尋ねたりしますか?