我正在尝试将PM2配置为在centos上守护简单的node.js服务器.init.d脚本执行,没有错误,但pm2 list返回一个空列表,服务器没有启动.
最初,我试图以不同的用户开始这个过程(对于那些感兴趣的人,可以通过修改来完成pm2-init.sh).但由于复杂性,我决定首先尝试让它以root身份运行.
问题的一个奇怪症状是dump.pm2文件被某个进程清空,因此pm2复活无关.我将pm2设置为在重启时运行,如下所示
$ pm2 startup centos
$ pm2 start /path/to/my/server.js
$ pm2 save
Run Code Online (Sandbox Code Playgroud)
此时,dump.pm2中有一个大的JSON对象,服务器正在运行.然后,运行:
$ reboot
... wait and log back in
$ pm2 list
Run Code Online (Sandbox Code Playgroud)
它又是空的,dump.pm2也是如此!
我不确定清除此文件的进程是什么.我已经尝试重新安装并重新运行启动脚本无济于事.任何帮助是极大的赞赏.
我对Django非常有信心,但直到最近才主要依赖生成的迁移.我写了一个小的自定义迁移,在我的CI开始抱怨超时后不久,它最终说明它与Django在部署期间的迁移有关.
起初,我能够解决这个问题,但我不知道我做了什么(如果有的话)修复它.这个问题似乎与我为特定迁移输入的一些自定义代码有关.这就是我所知道的:
输出如下(应用程序名称已删除):
[web@dev myapp]$ ./manage.py migrate
Operations to perform:
Apply all migrations: myapp1, myapp2, myapp3, myapp4
Running migrations:
Killed
Run Code Online (Sandbox Code Playgroud)
RunPythonPython函数在删除其中一个字段之前复制两个字段之间的数据.该文档不鼓励将其用于PostgreSQL,但是有更好的方法吗?options).代码检查布尔值是否为true并为字符字段设置正确的值.我做了两次.第一次最终结束了工作,但我还没有在另一个数据库上测试它. 这是迁移(已删除的应用程序名称):
from __future__ import unicode_literals
from django.db import migrations
def fix_consulting(apps, schema_editor):
my_model = apps.get_model("myapp", "MyModel")
for m in my_model._default_manager.all():
if m.consulting:
m.detail = "CONSLT"
m.save()
class Migration(migrations.Migration):
dependencies = [
('myapp', '0024_auto_20160117_1113'),
]
operations = [
migrations.RunPython(fix_consulting,atomic=False),
]
Run Code Online (Sandbox Code Playgroud)
我的想法:
也许我在这里写的代码运行时间太长了?数据库中不到一百个模型,所以我不知道为什么fix_consulting函数需要这么长时间.
如果我在开头添加print语句fix_consulting,它们有时只会运行,并且会被杀死.就目前而言,我已经跑了6-8次并且每次都被杀死,但是在不同的点上
其他信息: - 使用Django …
有没有办法find_all变成更节省内存的发电机?例如:
鉴于:
soup = BeautifulSoup(content, "html.parser")
return soup.find_all('item')
Run Code Online (Sandbox Code Playgroud)
我想改为使用:
soup = BeautifulSoup(content, "html.parser")
while True:
yield soup.next_item_generator()
Run Code Online (Sandbox Code Playgroud)
(假设正确处理最终StopIteration例外)
内置了一些生成器,但不会在查找中产生下一个结果.find只返回第一个项目.有数以千计的物品,find_all吸收了大量的记忆.对于5792件商品,我看到的内存只有1GB以上的内存.
我很清楚,有更高效的解析器,如lxml,可以实现这一目标.让我们假设还有其他业务限制阻止我使用其他任何东西.
如何find_all以更有效的内存方式转换为生成器进行迭代.
是否可以启动无头Google Chrome并以编程方式设置时区进行测试?它似乎不作为shell开关存在。
我希望能够以不同的时区运行测试,以确认前端是否正确处理了时区转换。
我有一个奇怪的问题,可能我在这里遗漏了一些东西.
我得到了一个元素列表,其中一部分是可见的,另一部分是不可见的.
我想选择不可见部分的最后3个元素.我添加了一个剪切来说明问题.
我正在寻找的结果是在js运行后显示10,11,12,而不是1,2,3我认为slice(-3)会给我数组的最后3个元素,但似乎我遗漏了一些东西.我使用时会发生同样的问题filter(':gt(-4)').有人能解释一下我做错了什么吗?
jQuery(document).ready(function() {
setTimeout(function () {
var prevs = jQuery('li').filter(':visible').first().prevAll();
var vis = jQuery('li').filter(':visible');
vis.hide(1000);
prevs.slice(-3).show(1000);
}, 1000);
});Run Code Online (Sandbox Code Playgroud)
li:nth-last-child(n+4) {
display: none
}
li {
width: 30px;
height: 30px;
border: 1px dotted gray;
background-color: red;
list-style: none;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>10</li>
<li>11</li>
<li>12</li>
<li>13</li>
<li>14</li>
<li>15</li>
</ul>Run Code Online (Sandbox Code Playgroud)
如何在django admin的list_filter中的每个过滤器之后显示相关对象的计数?
class Application(TimeStampModel):
name = models.CharField(verbose_name='CI Name', max_length=100, unique=True)
description = models.TextField(blank=True, help_text="Business application")
class Server(TimeStampModel):
name = models.CharField(max_length=100, verbose_name='Server Name', unique=True)
company = models.CharField(max_length=3, choices=constants.COMPANIES.items())
online = models.BooleanField(default=True, blank=True, verbose_name='OnLine')
application_members = models.ManyToManyField('Application',through='Rolemembership',
through_fields = ('server', 'application'),
)
class Rolemembership(TimeStampModel):
server = models.ForeignKey(Server, on_delete = models.CASCADE)
application = models.ForeignKey(Application, on_delete = models.CASCADE)
name = models.CharField(verbose_name='Server Role', max_length=50, choices=constants.SERVER_ROLE.items())
roleversion = models.CharField(max_length=100, verbose_name='Version', blank=True)
Run Code Online (Sandbox Code Playgroud)
@admin.register(Server)
class ServerAdmin(admin.ModelAdmin):
save_on_top = True
list_per_page = 30
list_max_show_all = 500
inlines = …Run Code Online (Sandbox Code Playgroud) 我是Haskell的新手,只是偶然发现了这个问题.我试图找出解释,但我没有足够的经验与Haskell类型确定.
功能:
mystery :: Int -> Int -> Float -> Bool
mystery x y z = not ((x==y) && ((fromIntegral y) == z ))
Run Code Online (Sandbox Code Playgroud)
表现得像它似乎会.它基本上检查值是否都不相等,但是从a进行类型转换Integral y以确保它可以与之进行比较z
如果这是真的,那么为什么:
case1 = do
if mystery 1 1 1.00000001 -- a very small number
then putStrLn "True"
else putStrLn "False"
Run Code Online (Sandbox Code Playgroud)
打印错误(即,值全部相等,所以1 == 1 == 1.00000001),而:
case2 = do
if mystery 1 1 1.0000001 -- a larger number
then putStrLn "True"
else putStrLn "False"
Run Code Online (Sandbox Code Playgroud)
打印真的吗?(即.值并非全部相等)
我知道它可能与精度有关,但我不明白.任何帮助是极大的赞赏.
我使用random.randint生成一个随机数,然后将该数字赋给变量.然后我想用我分配给变量的数字打印行,但我一直收到错误:
列表索引超出范围
这是我试过的:
f = open(filename. txt)
lines = f.readlines()
rand_line = random. randint(1,10)
print lines[rand_line]
Run Code Online (Sandbox Code Playgroud)