python3.6でコルーチンオブジェクトの関数と引数を抽出することは可能ですか?コルーチンからの関数と引数の抽出
コンテキスト:現在、私はこのようなものがあります:
async def func(*args):
...
ret = await remotely(func, x, y)
ボンネットの下
、remotely
漬物func
、x
、およびy
を、それはそれらをunpickles別のサーバーに、func(x,y)
を実行することをSCPの、ピクルス結果、scpはそれを返し、最後にそれをret
に埋め込みません。
このAPIは、私が持っていることを好むだろう、私には不快に感じている:
ret = await remotely(func(x, y))
私はfunc(x, y)
によって表されるコルーチンオブジェクトをpickle化することができれば、私はこれを行うことができますが、私は私が得ることを試みたとき:
TypeError: can't pickle coroutine objects
だから私の代わりの望みは、私はそれゆえ、この質問、f(x, y)
からf
、x
、およびy
を取り出すことができるということです。
ありがとうございます。私の同僚は実際に私のポストの直後に問題を解決することに成功し、 'dill'ソースをハッキングして、コルーチンオブジェクトを直接pickleすることができました。彼は独自に引数値を取得するのと同じテクニックを思いついたのですが、 '__qualname__'なしで関数を得るための別のテクニックを思いつきました。 – dshin
あなたはそれが解決してうれしい。たぶん別の答えとして作業ソリューションを投稿する必要がありますか? – bagrat