私が理解しているところでは、メインのqスレッドは要求のためのソケット記述子を監視し、応答します。kdbのポートで手動でリクエストをチェックする
私のメインスレッドでは、無期限に実行されるwhileループを使いたいと思っています。これは、プロセスポートでhopenを使用してクエリを実行することができないことを意味します。
whileループ内のリクエストを手動でチェックする方法はありますか。
ありがとうございました。
私が理解しているところでは、メインのqスレッドは要求のためのソケット記述子を監視し、応答します。kdbのポートで手動でリクエストをチェックする
私のメインスレッドでは、無期限に実行されるwhileループを使いたいと思っています。これは、プロセスポートでhopenを使用してクエリを実行することができないことを意味します。
whileループ内のリクエストを手動でチェックする方法はありますか。
ありがとうございました。
whileループを使用する必要がありますか?たとえば、代わりにtimerのKDB +機能を使用する可能性はありますか?
このようにすると、繰り返しループする代わりに定期的にコードを実行することができます。ユースケースによっては、メインスレッドを絶えず使用せずにコードを繰り返し実行することができます(定期的に何かをポーリングするなど)。
KDB +はデフォルトではシングルスレッドであるため、実行したいことをするのは難しい作業です。 slave threadsでできることがあります。
タイマ機能を使用することに興味がありますが、内蔵タイマーが必要に応じて制限されている場合は、AquaQ Analyticsから無償で利用可能なさらに高度なタイマー機能があります(免責事項:私はAquaQで働いています)。これはTorQ KDBフレームワークの一部として配布されています。具体的なスクリプトはtimer.qで、hereと書かれています。必要ならば、このコードを完全なTorQなしで使用できるかもしれませんが、timer.q内で使用される関数を提供するために、Torqの他の「共通の」コードが必要な場合があります