2017-02-09 5 views
0

나는이 stackoverflow Q&A을 읽었지만 내 경우에는 효과가 없었습니다.Django-RQ + Braintree : 결재를 위해 신청하십시오

제 시나리오에서는 우수한 패키지 django-rq을 사용하여 redis 큐에 기능 (submit_transaction_for_settlement(transaction_id))을 푸시합니다. 이 기능의 작업은 결제를 위해 트랜잭션을 제출하는 것입니다.

샌드 박스에서이 함수가 실행될 때마다 계속 동일한 오류가 발생합니다 : AttributeError: type object 'Configuration' has no attribute 'environment'.

내 기능에 agf's proposalinstantiate a new gateway for each transaction을 시도했지만 작동하지 않았습니다!

어쩌면 이것은 redis 큐 또는 작업자 환경의 환경과 관련이 있을까요?

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을 실행하는 명령에 오류가 있습니다. 나는 python manage.py rqworker --worker-class rq.SimpleWorker 명령을 사용했는데 왜냐하면 나는 파이썬 2.7 (또는이 문제를 일으킨 다른 것)을 사용했기 때문에 this issue을 가지고 있기 때문이다. 이 문제를 생성 한 명령은 python manage.py rqworker입니다.

이제 파이썬 3.4로 업그레이드하면 마지막 명령은 매력처럼 작동합니다! 따라서 python manage.py rqworker을 실행하면 트릭이 발생하고 오류는 발생하지 않습니다!