2017-02-09 9 views
0

私はこのstackoverflow Q&Aを読んだが、それは私の場合にはうまくいかなかった。Django-RQ + Braintree:決済のために提出する

私のシナリオでは、優れたパッケージdjango-rqを使用してレディスキューに機能(submit_transaction_for_settlement(transaction_id))をプッシュします。この機能の仕事は決済のために取引を提出することです。

サンドボックスでは、この関数が実行されるたびに同じエラーが発生します。AttributeError: type object 'Configuration' has no attribute 'environment'

私の機能のなかでagf's proposalinstantiate a new gateway for each transactionを試しましたが動作しませんでした!

多分、これはやり直しキューやワーカー環境の環境と関係がありますか?

def submit_transaction_for_settlement(transaction_id): 
    from braintree import Configuration, BraintreeGateway 

    config = Configuration(environment=settings.BRAINTREE_ENVIRONMENT, merchant_id=settings.BRAINTREE_MERCHANT_ID, 
            public_key=settings.BRAINTREE_PUBLIC_KEY, private_key=settings.BRAINTREE_PRIVATE_KEY) 
    gateway = BraintreeGateway(config=config) 
    result = gateway.transaction.submit_for_settlement(transaction_id) 

答えて

0

Ahrg!

私は自分の解決策を見つけた後、私は質問に答える瞬間が嫌いです。

rqworkerを実行しているコマンドに障害がありました。私がthis issueを持っていたので、私はpython manage.py rqworker --worker-class rq.SimpleWorkerというコマンドを使用していました。なぜなら、私はPython 2.7(あるいは何か他の原因でこの問題の原因となった)を使ったからです。この問題を生成したコマンドはpython manage.py rqworkerでした。

今Python 3.4にアップグレードすると、最後のコマンドはチャームのように機能します! したがって、python manage.py rqworkerを実行するとそのようなエラーは発生しませんでした。

関連する問題