私はpythonを使用しており、クラスのメソッド内から
self.connection = pika.SelectConnection(
self.connectionParameters,
on_open_callback=self.onConnected,
on_open_error_callback=self.onConnectionError,
on_close_callback=self.onConnectionClosed,
stop_ioloop_on_close=False)
私のソースコードでは、メソッドを(クラス内で)次のように宣言しています。
def onConnectionError(self):
"""
@summary: Called if the connection to rabbit is unavailable. Attempt to connect to one of
the many backup servers.
@return: ??
"""
ただし、実行時に次のエラーが発生します。
Traceback (most recent call last):
File "SpaceListener.py", line 218, in <module>
cacheTime=args.timeout)
File "SpaceListener.py", line 88, in __init__
logger=self.logger)
File "/home/centos/house/tes/castExchangeScan.py", line 108, in __init__
stop_ioloop_on_close=False)
File "build/bdist.linux-i686/egg/pika/adapters/select_connection.py", line 51, in __init__
File "build/bdist.linux-i686/egg/pika/adapters/base_connection.py", line 62, in __init__
File "build/bdist.linux-i686/egg/pika/connection.py", line 590, in __init__
File "build/bdist.linux-i686/egg/pika/connection.py", line 707, in connect
File "build/bdist.linux-i686/egg/pika/callback.py", line 61, in wrapper
File "build/bdist.linux-i686/egg/pika/callback.py", line 92, in wrapper
File "build/bdist.linux-i686/egg/pika/callback.py", line 232, in process
TypeError: onConnectionError() takes exactly 1 argument (2 given)
[centos@localhost ~/house/test]$
このコールバックの実際のメソッド シグネチャを示すドキュメントを見つけることができませんでした。メソッドの非クラス定義を探していると思われます(つまり、パラメーターとしての自己がありません)。あれは正しいですか?もしそうなら?接続エラー時に再接続を試行できるように、クラス変数にアクセスするにはどうすればよいですか?
私が最初に探しているのは、メソッドの署名がどのように見えるべきかということだと思いますか?
前もって感謝します