所以我看了一下NSUserDefaults的synchronize()方法上的苹果文档.见下面的参考:
https://developer.apple.com/reference/foundation/userdefaults/1414005-synchronize
该页面目前为:
因为此方法是定期自动调用的,所以只有在您无法等待自动同步时(例如,如果您的应用程序即将退出)或者您希望将用户默认值更新为磁盘上的内容,请使用此方法你没有做任何改变.
但是,我仍然不明白这个方法什么时候应该被调用?例如,每次用户更改应用程序的设置时是否应该调用它?或者我应该相信后台api会处理它?并且在内存中的设置更改后立即离开视图会导致更改丢失吗?
此外,如果调用synchronize()失败,导致用户设置无法正确更改?
此外,调用此方法的成本(性能,内存或其他)是多少?我知道它涉及从磁盘读取和写入磁盘,但这真的需要花费很多精力在手机上吗?
每当我binding.pry
在本地运行应用程序时,我都会像往常一样进入 pry 会话,但是大约一分钟后,我在服务器输出中看到了类似的内容。
[54438] ! Terminating timed out worker: 54455
然后服务器似乎在循环中运行了一两秒钟(重新运行导致 pry 会话的查询)并且我从同一个返回到一个新的 pry 会话binding.pry
,除了在这个新的 pry 会话中,每当我输入我可以'看不到我正在输入的任何内容。解决此问题的唯一方法是退出服务器并重新启动。
我试过在我的config/puma.rb
文件中插入以下行,但似乎没有任何区别。
worker_timeout 900 if ENV["RACK_ENV"] == "development"
唯一有效的是在我的 .env 文件中将 puma 工人的数量设置为 0。例如
PUMA_WORKERS=0
有没有办法解决这个问题,而不是仅仅消除所有美洲狮工人?
尝试在 EC2 中启动 elasticsearch 集群时出现以下错误。
org.elasticsearch.ElasticsearchSecurityException: xpack.security.transport.ssl 的配置无效 - 未设置 [xpack.security.transport.ssl.enabled],但在 elasticsearch.yml 中配置了以下设置: [xpack.security.transport .ssl.keystore.secure_password,xpack.security.transport.ssl.truststore.secure_password]
这是我用来引导集群的脚本
"#!/bin/bash",
"sudo yum update -y",
"sudo yum install java-1.8.0 -y",
"sudo rpm -i https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${var.elastic_version}-x86_64.rpm",
"sudo systemctl daemon-reload",
"sudo systemctl enable elasticsearch.service",
"sudo chmod -R 777 /etc/elasticsearch",
"sudo sed -i 's@-Xms1g@-Xms${aws_instance.elastic_datanodes[count.index].root_block_device[0].volume_size / 2}g@g' /etc/elasticsearch/jvm.options",
"sudo sed -i 's@-Xmx1g@-Xmx${aws_instance.elastic_datanodes[count.index].root_block_device[0].volume_size / 2}g@g' /etc/elasticsearch/jvm.options",
# "sudo sed -i 's/#network.host: 192.168.0.1/network.host: 0.0.0.0/g' /etc/elasticsearch/elasticsearch.yml",
"sudo rm /etc/elasticsearch/elasticsearch.yml",
"sudo cp elasticsearch.yml /etc/elasticsearch/elasticsearch.yml",
"sudo systemctl start elasticsearch.service"
Run Code Online (Sandbox Code Playgroud)
这是我的elasticsearch yml
# ======================== Elasticsearch …
Run Code Online (Sandbox Code Playgroud)