我最近从我的应用程序创建了一个版本控制页面来管理部署过程.
(是的,我知道,github + hooks比从零改写更好.但是我们在伊朗,我们心爱的政府阻止了与国外的所有ssh连接.:(()
页面中有一个合并+重新加载操作.合并与其他部分一样,但重新加载部分失败,没有任何消息.我已经为kill命令添加了sudo row,并且worker进程的用户有足够的权限.我甚至执行了代码形式的django shell并重新加载了该进程.
接收信号是否有任何限制,例如工人无法重装主人?
这是相关的代码:
def command(x):
return str(Popen(x.split(' '), stdout=PIPE).communicate()[0])
pid = open(PATH + "/logs/gunicorn.pid").readline().strip()
cmd = "sudo kill -HUP %s" % pid
content += command(cmd)
Run Code Online (Sandbox Code Playgroud) 在Elasticsearch生产部署的Kubernetes示例中,有关于使用的警告emptyDir,并建议"根据您的存储需求进行调整",这与Kubernetes上的持久存储文档相关联.
是否更好地使用持久存储,这是节点的外部存储,因此需要通过网络进行(高)I/O,或者我们是否可以使用具有本地emptyDir存储的多个数据节点部署可靠的Elasticsearch ?
背景:我们正在商用硬件上部署我们的Kubernetes,我们不希望将SAN用于存储层(因为它看起来不像商品).
我有两个像这样的Django 模型:
class Place(models.Model):
name = models.CharField(max_length=50)
address = models.CharField(max_length=80)
class Restaurant(Place):
serves_hot_dogs = models.BooleanField()
serves_pizza = models.BooleanField()
Run Code Online (Sandbox Code Playgroud)
我之前创建了一个Place实例,如下所示:
sixth_ave_street_vendor = Place(name='Bobby Hotdogs', address='6th Ave')
sixth_ave_street_vendor.save()
Run Code Online (Sandbox Code Playgroud)
现在鲍比已经将他的街头小贩升级为一家餐厅。我怎样才能在我的代码中做到这一点?为什么此代码不起作用:
sixth_ave_restaurant = Restaurant(place=sixth_ave_street_vendor,
serves_hot_dogs=True,
serves_pizza=True)
sixth_ave_restaurant.save()
Run Code Online (Sandbox Code Playgroud)