诊断 FiftyOne 应用程序的崩溃——日志或其他工具
Diagnose crashes of FiftyOne app – logs or other tools
我们需要通过 Web 浏览器使 FiftyOne 实例可供多个用户使用。我们需要启动一个进程并拥有它 运行,即使在我们从启动应用程序进程的会话中注销后也是如此。
我正在使用以下命令启动进程。我在 Docker 容器中执行此操作。容器通过 AWS EC2 在 Ubuntu 主机上 运行ning。
$ nohup fiftyone app launch --remote > fiftyone.log 2>&1 &
如果我从终端启动此命令,它会启动允许网络浏览器连接 FiftyOne 应用程序的进程。这些在我注销后仍然存在。
但是,这些进程有时会变得不可用。例如,在 运行ning 超过 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"
}
我如何获得有关崩溃原因的更多信息?
FiftyOne 的开源版本主要是为个人用户设计的。多用户协作的最佳体验是 FiftyOne Teams。您可以在这里注册:https://voxel51.com/#teams-form
具体关于这个错误:
在后端,调用 fiftyone app launch --remote
实际上会运行以下 Python 命令:
session = fo.launch_app(remote=True)
session.wait()
对于远程会话,session.wait()
调用将阻塞直到有东西连接到它,然后将继续阻塞直到所有连接的选项卡都关闭。
有一个内置的超时来处理刷新选项卡的情况,这样会话就不会立即关闭。在某些情况下,我们注意到刷新时间比超时时间长,并且会话会过早关闭。正在对此进行调查。
The next release 提供了一个参数,将导致 wait
无限期阻塞。您将可以致电 fiftyone app launch --remote --wait 0
.
同时,我建议编写并调用一个小脚本(launch_app.py
)来永久阻塞直到退出。
import fiftyone as fo
session = fo.launch_app(remote=True)
# Indefinite blocking
while True:
pass
python launch_app.py
我们需要通过 Web 浏览器使 FiftyOne 实例可供多个用户使用。我们需要启动一个进程并拥有它 运行,即使在我们从启动应用程序进程的会话中注销后也是如此。
我正在使用以下命令启动进程。我在 Docker 容器中执行此操作。容器通过 AWS EC2 在 Ubuntu 主机上 运行ning。
$ nohup fiftyone app launch --remote > fiftyone.log 2>&1 &
如果我从终端启动此命令,它会启动允许网络浏览器连接 FiftyOne 应用程序的进程。这些在我注销后仍然存在。
但是,这些进程有时会变得不可用。例如,在 运行ning 超过 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"
}
我如何获得有关崩溃原因的更多信息?
FiftyOne 的开源版本主要是为个人用户设计的。多用户协作的最佳体验是 FiftyOne Teams。您可以在这里注册:https://voxel51.com/#teams-form
具体关于这个错误:
在后端,调用 fiftyone app launch --remote
实际上会运行以下 Python 命令:
session = fo.launch_app(remote=True)
session.wait()
对于远程会话,session.wait()
调用将阻塞直到有东西连接到它,然后将继续阻塞直到所有连接的选项卡都关闭。
有一个内置的超时来处理刷新选项卡的情况,这样会话就不会立即关闭。在某些情况下,我们注意到刷新时间比超时时间长,并且会话会过早关闭。正在对此进行调查。
The next release 提供了一个参数,将导致 wait
无限期阻塞。您将可以致电 fiftyone app launch --remote --wait 0
.
同时,我建议编写并调用一个小脚本(launch_app.py
)来永久阻塞直到退出。
import fiftyone as fo
session = fo.launch_app(remote=True)
# Indefinite blocking
while True:
pass
python launch_app.py