【问题标题】:Is having a long running boto SNSConnection a bad idea?长时间运行 boto SNSConnection 是个坏主意吗?
【发布时间】:2014-03-14 23:52:26
【问题描述】:

我正在使用boto 和 SNS 向 iOS 发送推送通知。我创建了一个包装类APNS,它可以将长时间运行的boto.SNSConnection 作为成员变量。

我想要一个APNS 类的实例作为全局变量,所以我可以使用celery 在后台发送推送通知。

保持长时间运行的SNSConnection 并重新使用它是否有任何问题,或者我每次想要发布消息时都应该创建一个新连接?

【问题讨论】:

  • 我没有使用过 SNS,但我使用 SQS 和 S3 的长时间运行连接已经好几天了并且没有任何问题,您可能需要一个进程监视器来检查进程是否已关闭并重新运行它,这样我的流程一次可以运行几个月。

标签: python apple-push-notifications celery boto amazon-sns


【解决方案1】:

您应该重复使用 SNS 连接以获得最佳性能。也就是说,如果连接已关闭,请确保检测并重新建立连接。

【讨论】:

    【解决方案2】:

    查看 SNSConnection 的签名,没有超时参数,所以我猜使用长期连接没有问题。

    class SNSConnection(AWSQueryConnection):
        """
        Amazon Simple Notification Service
        """
    
    
          def __init__(self, aws_access_key_id=None, aws_secret_access_key=None,
                     is_secure=True, port=None, proxy=None, proxy_port=None,
                     proxy_user=None, proxy_pass=None, debug=0,
                     https_connection_factory=None, region=None, path='/',
                     security_token=None, validate_certs=True,
                     profile_name=None):
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多