我们需要使一个FiftyOne实例通过一个web浏览器对多个用户可用。我们需要启动一个进程并让它运行,甚至在我们从启动应用程序进程的会话中注销之后。
我使用以下命令启动该进程。我在码头集装箱里执行这个。容器通过AWS EC2在Ubuntu主机上运行。
$ nohup fiftyone app launch --remote > fiftyone.log 2>&1 &如果我从终端启动此命令,它将启动允许web浏览器与FiftyOne应用程序连接的进程。这些内容在我注销后仍然存在。
然而,这些进程有时会变得不可用。例如,在运行了20多个小时后,FiftyOne在日志文件~/.fiftyone/var/lib/mongo/log/mongo.log中崩溃了如下。
(由cat ~/.fiftyone/var/lib/mongo/log/mongo.log | jq '{msg,t}'制作)
{
"msg": "CMD fsync",
"t": {
"$date": "2021-09-01T15:04:24.152+00:00"
}
}
{
"msg": "Received signal",
"t": {
"$date": "2021-09-01T15:04:24.181+00:00"
}
}
{
"msg": "Signal was sent by kill(2)",
"t": {
"$date": "2021-09-01T15:04:24.181+00:00"
}我怎样才能得到更多关于为什么坠毁的信息?
发布于 2021-09-02 18:51:45
FiftyOne的开源版本主要是为个人用户设计的。多用户协作的最佳体验是FiftyOne团队。你可以在这里注册:https://voxel51.com/#teams-form
关于此错误的(特别是)
在后端,调用fiftyone app launch --remote实际上运行以下Python命令:
session = fo.launch_app(remote=True)
session.wait()对于远程会话,session.wait()调用将阻塞直到有东西连接到它,然后继续阻塞直到所有已连接的选项卡关闭。
在刷新选项卡时,会内置一个超时来处理这种情况,这样会话就不会立即关闭。在某些情况下,我们注意到刷新所需的时间比超时时间长,并且会话提前关闭。这件事正在调查中。
下一个版本提供了一个会导致wait无限期阻塞的参数。您将能够调用fiftyone app launch --remote --wait 0。
同时,我建议编写和调用一个小脚本(launch_app.py)来永久阻止它,直到它退出为止。
import fiftyone as fo
session = fo.launch_app(remote=True)
# Indefinite blocking
while True:
passpython launch_app.pyhttps://stackoverflow.com/questions/69020388
复制相似问题