小编ent*_*nto的帖子

处理数百万个定时(预定)消息的解决方案?

我正在评估处理大量排队消息的可能解决方案,这些消息必须在特定日期和时间发送给工作人员.执行它们的结果主要是对存储数据的更新,并且它们最初可能或可能不是由用户动作触发的.

例如,想想你在假想的大型星际争霸游戏服务器中实现的内容,用于存储和执行用户的操作,例如升级建筑物,孵化士兵,所有这些都需要在几秒钟后应用于游戏状态玩家启动后几分钟.

问题是我似乎无法找到正确的术语来命名这个问题区域.有几个看起来相似但不同:

cron /任务/作业调度程序

  • 队列的内容不是动态的,而是预定义的.
  • 每项任务都已安排.

消息队列

  • 队列的内容是动态的.
  • 每项任务都是为了立即交付.

???

  • 队列的内容是动态的.
  • 每项任务都已安排.

如果有消息队列允许有条件地传递消息,那可能就是这样.

摘要:

  1. 这些技术被称为什么?
  2. 有哪些解决方案?

message-queue scheduled-tasks

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

什么是XOauth及其与OAuth的关系?

一些OpenSocial容器xoauth_security_token用于签名请求,而不是oauth_tokenoauth_token_secret.

XOauth是OAuth的替代品吗?(*)XOauth背后是谁,官方规格在哪里?

休闲谷歌搜索只会导致我xoauth.py来自谷歌的邮件,XOAUTH工具项目,只是指出这是一个"为XOAUTH认证事业".

(*)旁边:它一定不能,因为容器使用其他oauth_xxx参数和xoauth_xxx参数.

oauth

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

集成CherryPy Web框架,SQLAlchemy会话和lighttpd以提供高负载Web服务的最佳实践

我正在开发一个支持lighttpd的CherryPy FastCGI服务器,其设置如下,以便在CherryPy控制器中使用ORM SQLAlchemy会话.然而,当我运行压力测试与约500回路14个并发请求,它开始给错误,如AttributeError: '_ThreadData' object has no attribute 'scoped_session_class'open_dbsession()AttributeError: 'Request' object has no attribute 'scoped_session_class'close_dbsession()一段时间后.错误率总共约为50%.

只有当我在lighttpd后面运行服务器时才会发生这种情况,而不是直接运行时cherrypy.engine.start().确认connect()不会引发异常.

我也尝试将scoped_sessionto 的返回值赋予GlobalSession(就像在这里一样),但是它给出了错误UnboundExceptionError和其他SA级错误.(并发:10,循环:1000,错误率:16%.即使直接运行也会发生.)

有一些可能的原因,但我缺乏足够的知识来选择一个.
1. start_thread在FastCGI环境下订阅是否不可靠?它似乎open_dbsession()在之前被调用connect()
2.是否cherrypy.thread_data因某种原因被清除?

服务器代码

import sqlalchemy as sa  
from sqlalchemy.orm import session_maker, scoped_session

engine = sa.create_engine(dburi, strategy="threadlocal")  
GlobalSession = session_maker(bind=engine, transactional=False)

def connect(thread_index):  
    cherrypy.thread_data.scoped_session_class = scoped_session(GlobalSession)

def open_dbsession():  
    cherrypy.request.scoped_session_class = cherrypy.thread_data.scoped_session_class

def close_dbsession():  
    cherrypy.request.scoped_session_class.remove()


cherrypy.tools.dbsession_open …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy lighttpd cherrypy

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

在BeautifulSoup中用另一种标签替换一种标签

我有一组HTML文件.我希望逐个迭代它们,编辑特定类的标记.我想编辑的代码具有以下形式,使用以下类名:

<td class='thisIsMyClass' colspan=4>
  <a id='123' class='thisIsMyOtherClass' href='123'>Put me Elsewhere</a> 
Run Code Online (Sandbox Code Playgroud)

这可以在同一个文档中多次出现,使用不同的文本而不是"Put me Elsewhere",但总是使用相同的类.

我想将其更改为以下形式:

<font SIZE="3"  COLOR="#333333"  FACE="Verdana"  STYLE="background-color:#ffffff;font-weight: bold;">
  <h2>Put Me Elsewhere</h2>
</font>
Run Code Online (Sandbox Code Playgroud)
import os
for filename in os.listdir('dirname'):
 replace(filename)

def replace(filename):
 tags = soup.find_all(attrs={"thisIsMyClass"})
Run Code Online (Sandbox Code Playgroud)

不太确定在此之后去哪里或如何处理标签数组?任何帮助将非常感激.谢谢 :)

html python parsing beautifulsoup python-3.x

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

tox测试,使用setup.py extra_require作为tox deps源

我想使用setup.py作为软件包的权限来安装进行测试,使用extra_requires完成,如下所示:

setup(
    # ...
    extras_require={
        'test': ['pytest', ],
    },
)
Run Code Online (Sandbox Code Playgroud)

Tox似乎只能从requirements.txt文件安装,它只是意味着在测试之前快照需求的步骤(我不知道如何自动执行)或者将测试依赖项复制到tox文件中,这就是我所有的我想避免.一个邮件列表帖子建议tox.ini应该是测试依赖项的权限,但我不希望将tox完全插入到项目中.

python testing setup.py tox

5
推荐指数
2
解决办法
1413
查看次数

什么是Ruby相当于Python的sys.executable?

在Python中,你可以做到

>>> import sys
>>> sys.executable
'/usr/bin/python'
Run Code Online (Sandbox Code Playgroud)

获取可执行文件的位置.你能用内置于Ruby的东西做同样的事情吗?它可以是一个特殊的变量,方法等.

如果没有,那么以跨平台方式确定ruby可执行文件位置的最干净,最可靠的方法是什么?

相关:

ruby

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

你如何写一个(简单的)变量"切换"?

鉴于以下习语:

1)

variable = value1
if condition
  variable = value2
Run Code Online (Sandbox Code Playgroud)

2)

variable = value2
if not condition
  variable = value1

3)

if condition
  variable = value2
else
  variable = value1

4)

if not condition
  variable = value1
else
  variable = value2

你更喜欢哪个?为什么?

我们假设最常见的执行路径condition是假的.

我倾向于学习使用1),虽然我不确定为什么我更喜欢它.

注意:以下示例可能更简单 - 因此可能更具可读性 - 但并非所有语言都提供此类语法,并且它们不适合将变量赋值扩展为包含将来的多个语句.

variable = condition ? value2 : value1
...
variable = value2 if condition else value1
Run Code Online (Sandbox Code Playgroud)

language-agnostic coding-style idioms

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