【问题标题】:Django-RQ + Braintree: Submit for settlementDjango-RQ + Braintree:提交结算
【发布时间】:2017-06-28 00:59:23
【问题描述】:

我已阅读此 stackoverflow Q&A,但它对我的情况不起作用。

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

在沙盒中,每当执行此函数时,我都会不断收到相同的错误:AttributeError: type object 'Configuration' has no attribute 'environment'

我在我的函数中尝试了agf's proposal 关于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)

【问题讨论】:

    标签: django braintree python-rq django-rq


    【解决方案1】:

    啊!

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

    错误在于运行rqworker 的命令。我正在使用命令python manage.py rqworker --worker-class rq.SimpleWorker,因为我有this issue,因为我使用了python 2.7(或其他导致此问题的东西)。产生这个问题的命令是python manage.py rqworker

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-07
      • 2015-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-17
      • 2016-11-01
      • 2015-04-05
      相关资源
      最近更新 更多