首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在结构部署脚本中使用启动mongrel2

在结构部署脚本中使用启动mongrel2
EN

Stack Overflow用户
提问于 2012-03-09 13:35:18
回答 2查看 348关注 0票数 0

我正在尝试在Brubeck中部署web应用,这是一个运行在mongrel2之上的类似龙卷风的python框架,但我在fabric脚本中部署mongrel2时遇到了问题。

从我的fabfile中:

代码语言:javascript
复制
with cd(project_dir):
    run('mkdir -p run && mkdir -p log && mkdir -p tmp')
    run('m2sh load -config mongrel2.conf -db the.db')
    sudo('m2sh start -db the.db -host localhost -sudo')

我的mongrel2.conf是非常基础的:

代码语言:javascript
复制
brubeck_handler = Handler(
    send_spec='ipc://127.0.0.1:9999',
    send_ident='34f9ceee-cd52-4b7f-b197-88bf2f0ec378',
    recv_spec='ipc://127.0.0.1:9998', 
    recv_ident='')
brubeck_host = Host(
    name="localhost", 
    routes={
        '/': brubeck_handler})
brubeck_serv = Server(
    uuid="f400bf85-4538-4f7a-8908-67e313d515c2",
    access_log="/log/mongrel2.access.log",
    error_log="/log/mongrel2.error.log",
    chroot="./",
    default_host="localhost",
    name="brubeck app",
    pid_file="/run/mongrel2.pid",
    port=6767,
    hosts = [brubeck_host]
)
settings = {"zeromq.threads": 1}
servers = [brubeck_serv]

基本上,我可以使用与上面相同的m2sh start命令在服务器上很好地启动mongrel2。但是当我运行fabric任务时,mkdirm2sh load任务运行得很好,但是mongrel2就是启动不起来。有人知道为什么当我将start命令粘贴到服务器上的命令行中时,它会起作用,但在部署脚本中却不起作用?AFAIK -sudo选项将mongrel2作为后台进程运行,所以我不认为这是外壳被关闭的问题(我尝试使用"nohup“以防万一,但这没有帮助)。我应该做一些不同的事情来启动mongrel2吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-03 00:52:39

因此,由于这个问题还没有得到回答,我将使用我正在使用的变通方法来回答它。我仍然不确定发生了什么(我不想仔细阅读文档以了解m2sh到底在做什么),但在mongrel2实际启动之前,它显然在分支进程中做了一些事情。因此,当此命令返回并且fabric断开连接时,它还没有时间完成它的工作,并且mongrel2不会启动。

此解决方法可为我解决此问题:

代码语言:javascript
复制
sudo('m2sh start -db the.db -host localhost -sudo && sleep 1')

我不喜欢它,因为1秒是一个完全随意的时间,但自从我实现它以来,它每次都有效。@摩根的回答听起来似乎可行,但正如我在评论中提到的那样,pty=False只是导致fabric挂起。

票数 0
EN

Stack Overflow用户

发布于 2012-04-26 08:46:09

文档中针对您的用例的Here's a section。这与默认呼叫的pty设置有关。有关详细信息,请参阅常见问题解答。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9629420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档