0

我已经阅读了这个 stackoverflow Q&A但它并没有解决我的问题。

在我的场景中,我submit_transaction_for_settlement(transaction_id)使用优秀的包将函数 () 推送到 redis 队列django-rq。此功能的工作是提交交易以进行结算。

在沙箱中,每当执行此功能时,我都会收到相同的错误:AttributeError: type object 'Configuration' has no attribute 'environment'.

我尝试了关于我的函数内部agf的建议instantiate a new gateway for each transaction,但没有奏效!

也许这与redis队列的环境或worker环境有关?

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)
4

1 回答 1

0

啊!

我讨厌在我找到解决方案后几分钟回答问题的时刻!

故障出在运行rqworker. 我使用该命令python manage.py rqworker --worker-class rq.SimpleWorker是因为我遇到了这个问题,因为我使用了 python 2.7(或其他原因导致了这个问题)。产生此问题的命令是python manage.py rqworker.

现在升级到 python 3.4,最后一个命令就像一个魅力!所以,运行python manage.py rqworker成功了,没有这样的错误!

于 2017-02-09T21:04:48.053 回答