这是一项超级基本任务,但我无法找到相关文档.我正在使用厨师服务器和厨师启动EC2机器.如果失败了,我想修复配方,然后在该机器上重新安装角色和配方,而无需取出节点并再次创建它.我找不到那样做的命令.
如果我在机器上运行chef-client,我得到:
chef-client
[Wed, 18 Jan 2012 11:23:58 +0000] INFO: *** Chef 0.10.0 ***
[Wed, 18 Jan 2012 11:23:59 +0000] INFO: Run List is []
[Wed, 18 Jan 2012 11:23:59 +0000] INFO: Run List expands to []
[Wed, 18 Jan 2012 11:23:59 +0000] INFO: Starting Chef Run for gidsy-staging-web
[Wed, 18 Jan 2012 11:23:59 +0000] INFO: Loading cookbooks []
[Wed, 18 Jan 2012 11:23:59 +0000] WARN: Node gidsy-staging-web has an empty run list.
[Wed, 18 Jan 2012 11:23:59 +0000] INFO: …Run Code Online (Sandbox Code Playgroud) 我对django的1.3版本有一些奇怪的缓存问题.我可能有错误的配置,但不知道是什么.
一个很好的例子是django-avatar,它使用缓存并且许多人使用它.即使我没有定义缓存后端,avatar似乎也会被缓存,这本身就可以,但它会在最后缓存的值之间来回切换.示例:我上传了一个新的头像,现在大约50%的请求会显示新的头像,50%是旧的头像.如果我删除旧的,我仍然会在50%的时间在网站上获取它.修复它的唯一方法是通过将其设置为一秒来禁用头像的缓存.
首先我认为这是因为我使用了django.core.cache.backends.locmem.LocMemCache,这是我以前从未使用过的,但它甚至在我根本不配置缓存后端时也会发生.
我发现了一个类似的错误: Django缓存错误..即使禁用了缓存
但我的页面渲染得很好,它的模板标签(现在)导致我的设置出现问题.
我使用django 1.3,postgres,nginx,gunicorn 0.12.0,greenlet == 0.3.1,eventlet == 0.9.16
我只是做了一些测试,并意识到只有当我使用配置文件启动gunicorn时才会发生这种情况.如果我用./manage.py启动它run_gunicorn一切都很好.运行"gunicorn_django -c deploy/gunicorn.conf.py"会导致问题.
我能想到的唯一解释是每个工作者都有自己的缓存(我想知道为什么,因为我没有定义缓存).
更新:运行./manage.py run_gunicorn -w 4也会导致同样的问题.因此,我几乎可以肯定,多个工人正在引发问题,每个工人都单独缓存这些值.
我的配置:
import os
import socket
import sys
PORT = 8000
PROC_NAME = 'myapp_gunicorn'
LOGFILE_NAME = 'gunicorn.log'
TIMEOUT = 3600
IP = '127.0.0.1'
DEPLOYMENT_ROOT = os.path.dirname(os.path.abspath(__file__))
SITE_ROOT = os.path.abspath(os.path.sep.join([DEPLOYMENT_ROOT, '..']))
CPU_CORES = os.sysconf("SC_NPROCESSORS_ONLN")
sys.path.insert(0, os.path.join(SITE_ROOT, "apps"))
bind = '%s:%s' % (IP, PORT)
logfile = os.path.sep.join([DEPLOYMENT_ROOT, 'logs', LOGFILE_NAME])
proc_name = PROC_NAME
timeout = TIMEOUT
worker_class = 'eventlet'
workers = 2 * …Run Code Online (Sandbox Code Playgroud)