我希望运行一个服务,该服务将使用放入SQS队列中的消息。构建消费者应用程序的最佳方法是什么?
一种想法是创建一堆线程或进程来运行这个:
def run(q, delete_on_error=False):
while True:
try:
m = q.read(VISIBILITY_TIMEOUT, wait_time_seconds=MAX_WAIT_TIME_SECONDS)
if m is not None:
try:
process(m.id, m.get_body())
except TransientError:
continue
except Exception as ex:
log_exception(ex)
if not delete_on_error:
continue
q.delete_message(m)
except StopIteration:
break
except socket.gaierror:
continue
我倾向于单独的进程而不是线程来避免GIL。是否有一些容器进程可以用来启动和监视这些单独运行的进程?
有几件事:
get_messages
。0
调用change_visibility
来完成此操作。然后,该消息将可直接用于处理。(看起来,如果您这样做,那么该消息的可见性超时将永久更改--实际上并非如此。AWS文档声明“下次接收消息时的可见性超时将恢复到原始超时值”。有关详细信息,请参阅文档。)如果您正在寻找一个健壮的SQS消息使用者的示例,那么您可能希望查看NServiceBus.AmazonSQS(我是其作者)。(C#-对不起,我找不到任何python示例。)
我的ant-script和Tomcat有问题。我想创建一个ant-scipt,它使用Jenkins在我的tomcat-server上构建、编译和部署我的GWT应用程序。为此,我使用来自catalina(catalina-ant.jar)的undeploy and deploy任务。但是我得到了这个错误: 构建失败d:\jenkins\jobs\homepageTomcat\workspace\BU
Fabric 是一个 Python 下类似于 Makefiles 的工具,但是能够在远程服务器上 执行命令。如果您有一个良好配置过的 Python 软件包 (大型应用) 且 对“配置”概念的理解良好,那么在外部服务器上部署 Flask 应用将会非常容易。 开始之前,请先检查如下列表中的事项是否都已经满足了: 在本地已经安装了 Fabric 1.0 。即这个教程完成时, Fabric 的最新版本。
Nuxt.js 允许你将静态化后的站点部署至任何静态站点托管服务中,例如 surge.sh。 部署至 surge.sh,需先安装 surge: npm install -g surge 然后, 我们需要告诉 Nuxt.js 生成应用的静态站点目录: npm run generate 上述的命令会生成一个 dist 目录,该目录包含了待部署的所有资源文件。 最后,我们可以通过下面的命令将站点布置至
Kubernetes的部署和状态集提供了在独立,分布式或共享模式下部署MinIO服务器的完美平台。 在Kubernetes上部署MinIO有多种选择,您可以选择最适合您的。 MinIO Helm Chart通过一个简单的命令即可提供自定义而且简单的MinIO部署。更多关于MinIO Helm部署的资料,请访问这里. 你也可以浏览Kubernetes MinIO示例 ,通过.yaml文件来部署Min
问题内容: 我一直在使用Jenkins / Hudson CI来部署.NET网站项目。我一直在使用MSbuild插件来构建我的项目,然后使用xcopy将其复制到服务器上。 我注意到如果我在Visual Studio中 使用发布功能,则会得到一组不同的文件。我已经完成了配置转换,但最终得到了所有.cs文件,并且winmerge比较显示了二进制文件是不同的。 因此,我想让Jenkins像发布功能一样工
目前我正在使用JBoss服务器部署我的JavaSpring代码。每次我对代码进行更改时,我所做的是 使用mvn clean install构建项目 将创建的war文件复制到\wildfly-10.1。0\独立\部署 使用$部署/独立的。sh——调试8787 这工作正常,但程序太长。有没有比使用Intellij IDE或其他方法更容易的方法。