小编Mat*_*gan的帖子

如何在不编写代码的情况下在亚马逊sqs中实现指数退避

我有一个需要第三方的简单任务。当请求到来时,我将其推送到队列中amazon sqs,将其拉入工作线程并调用3rd party. 如果超时,我想实现一个指数退避(在 2 秒内重试,然后是 4 秒,然后是 8 秒,然后...)并进行最大重试。

使用pythonboto -> sqs

我一直在寻找内置参数,以允许我用尽可能少的代码来完成此操作(理想情况下,根本不需要代码)。

就像是

from boto import sqs

def handle_message(message):
    try:
      # send a post to api
    except TimeOut, err:
      # send_back_to_itself in 2/4/8 sec
      if delay < DELAY_LIMIT:
          queue.write(message, delay=secs)
Run Code Online (Sandbox Code Playgroud)

python amazon-sqs amazon-web-services

10
推荐指数
1
解决办法
1万
查看次数

React和Redux:未捕获错误:在调度之间检测到状态突变

我正在使用"受控"组件(setState()在组件内使用)并在尝试保存表单数据时间歇性地获取此错误.所述UserForm onSave呼叫返回到saveUser在下面的部件代码方法.

我已经查看了Redux文档,并且无法完全了解我正在修改状态以导致标题中的错误,具体是: Uncaught Error: A state mutation was detected between dispatches, in the path 'users.2'. This may cause incorrect behavior.

据我所知,只有本地修改,并且reducer返回一个全局状态的副本,并添加了我的更改.我一定错过了什么,但是什么?

这是组件代码:

import React, {PropTypes} from 'react';
import {connect} from 'react-redux';
import {bindActionCreators} from 'redux';
import * as userActions from '../../actions/userActions';
import UserForm from './UserForm';


export class ManageUserPage extends React.Component {
  constructor(props, context) {
    super(props, context);

    this.state = {
      user:  Object.assign({}, this.props.user),
      errors:  {},
      saving:  false
    };
    this.updateUserState = this.updateUserState.bind(this);
    this.saveUser = this.saveUser.bind(this); …
Run Code Online (Sandbox Code Playgroud)

reactjs redux

7
推荐指数
2
解决办法
9435
查看次数

API 获取中未处理的拒绝类型错误

我在使用 Spotify Web 应用程序时遇到了奇怪的错误。我尝试将播放列表保存到我的帐户,该帐户必须idhttps://api.spotify.com/v1/me端点获取元素,然后将播放列表应用到您的帐户。除此之外,一切看起来都很好,除了提取到该端点时会抛出错误:

Spotify.js:81 Uncaught (in promise) TypeError: Failed to execute 'fetch' on 'Window': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)'

我以前从未见过此错误,并且不确定为什么会发生。方法findUserId是:

findUserId() {
  if(accessToken === undefined) {
    this.getAccessToken();
  }
  console.log(accessToken);
  let userId;
  fetch(`https://api.spotify.com/v1/me`, {headers: `Bearer ${accessToken}`}
    ).then(response => {return response.json()}
    ).then(jsonResponse => {
        userId = jsonResponse.id;
    });
  console.log(userId);
  return userId;
}
Run Code Online (Sandbox Code Playgroud)

javascript fetch

5
推荐指数
1
解决办法
1万
查看次数

如何在Python中使用BeautifulSoup从标记中提取innerHTML

我正在尝试使用以下代码从标记中提取innerHTML:

theurl = "http://na.op.gg/summoner/userName=Darshan"
thepage = urlopen(theurl)
soup = BeautifulSoup(thepage,"html.parser")
rank = soup.findAll('span',{"class":"tierRank"})
Run Code Online (Sandbox Code Playgroud)

但是我[< span class="tierRank" > Master < /span >]反而得到了。我想显示的只是值“ Master”。

使用soup.get_text代替soup.findall不起作用。

我尝试将.text和添加.string到最后一行的末尾,但这也不起作用。

beautifulsoup python-3.x

5
推荐指数
1
解决办法
2251
查看次数

在将参数传递给去抖函数时限制或去抖 Vue 2 中的异步调用

我有一个 Vue 2 应用程序,它使用对象数组来支持vue-multiselect提供的搜索/多选小部件。

我已经查看了关于去抖动调用的Vue 1 -> 2 迁移指南,但是他们给出的示例没有将参数从 DOM 元素传播到业务逻辑。

现在,每次击键时 select 都会触发更改事件,但我想限制它(例如,使用 lodash#throttle),这样我就不会在他们打字时每隔几毫秒就调用我的 API。

import {mapGetters} from 'vuex';
import { throttle } from 'lodash';

import Multiselect from 'vue-multiselect'

export default {
  components: {
    Multiselect
  },
  data() {
    return {
      selectedWork: {},
      works: [],
      isLoading: false
    }
  },
  computed: {
    ...mapGetters(['worksList']),
  },
  methods: {
    getWorksAsync: throttle((term) => {
      // the plan is to replace this with an API call
      this.works = this.worksList.filter(work => titleMatches(work, term));
    }, …
Run Code Online (Sandbox Code Playgroud)

javascript throttling vue.js vuejs2

5
推荐指数
1
解决办法
8862
查看次数

如何让 Mocha 在 Node.js 的多个子文件夹中执行单元测试

我正在将测试集成到我的节点服务器中,但在单元测试方面遇到了一些问题。当我在根目录中运行时npm test,Mocha 会自动运行我的文件夹内的所有测试test。但是,分散在整个项目中的单元测试不会运行。我如何确保 Mocha 自动运行它们?

javascript mocha.js node.js

4
推荐指数
1
解决办法
2240
查看次数

使用 boto3 在 Dynamo 中按分区键查询所有项目

我在 DynamoDB 中有一个表,其中包含分区键和排序键。我想检索具有给定分区键的所有项目,而不考虑排序键。

我该怎么做呢?

python-3.x amazon-dynamodb boto3

4
推荐指数
1
解决办法
6500
查看次数

迭代 JavaScript URL 对象的属性

我试图将 JavaScript 的URL 类的实例映射到普通对象,但无法理解为什么它不起作用。

我猜这是因为属性不可枚举,但我不清楚为什么会出现这种情况。

let input = 'https://www.google.com/index.html?bar=baz#foo'

let url = new URL(input)

console.log(url.origin)
console.log(url.protocol)
console.log(url.host)
console.log(url.pathname)
console.log(url.hash)
console.log(url.search)

let urlMap = Object.entries(url).reduce((map, [key, value]) => {
  map[key] = value
  return map
}, {})


console.log(urlMap)  // returns {}
Run Code Online (Sandbox Code Playgroud)

这是我能做的事吗?我的目标是像这样组成 url 属性:

return { ...url, pathname: alteredPathname }
Run Code Online (Sandbox Code Playgroud)

javascript w3c

3
推荐指数
1
解决办法
387
查看次数

AWS SQS接收消息-如何知道队列何时为空

我想获取队列中的所有消息以对其进行处理。但是,MaxNumberOfMessages的属性为10(基于文档)

https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ReceiveMessage.html

如何阅读所有消息以便进行处理?或者我怎么知道什么时候队列是空的?

谢谢

amazon-sqs amazon-web-services

2
推荐指数
1
解决办法
903
查看次数

将数组映射到对象,使用数组值作为键

我有

const menu = ['home', 'news', 'about'];
Run Code Online (Sandbox Code Playgroud)

我想把它映射到这个:

let menuExt = 
 { 
  home: Common.locs['home'],
  news: Common.locs['news'],
  about: Common.locs['about'] 
 };
Run Code Online (Sandbox Code Playgroud)

我该怎么做?我试过

    let menuExt = menu.map(item => {
        return {
          item: Common.locs[item]
        }
    });
Run Code Online (Sandbox Code Playgroud)

但是我得到了一个带有“item”作为属性的数组,但是我想要一个带有属性 home、news、about 的对象(还有更多,但我在这里缩短了它)

javascript arrays map-function

1
推荐指数
1
解决办法
104
查看次数