Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
VisualDL
提交
b6b64db0
V
VisualDL
项目概览
PaddlePaddle
/
VisualDL
大约 1 年 前同步成功
通知
88
Star
4655
Fork
642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
5
Wiki
分析
仓库
DevOps
项目成员
Pages
V
VisualDL
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
5
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
b6b64db0
编写于
12月 18, 2017
作者:
S
superjom
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix test unstable with try recursive make tmp
some time should wait between read service and get item
上级
c0a975e8
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
20 addition
and
4 deletion
+20
-4
visualdl/logic/sdk_test.cc
visualdl/logic/sdk_test.cc
+5
-2
visualdl/storage/storage.cc
visualdl/storage/storage.cc
+1
-1
visualdl/utils/filesystem.h
visualdl/utils/filesystem.h
+14
-1
未找到文件。
visualdl/logic/sdk_test.cc
浏览文件 @
b6b64db0
...
@@ -7,13 +7,16 @@ namespace visualdl {
...
@@ -7,13 +7,16 @@ namespace visualdl {
struct
ScalarTestHelper
{
struct
ScalarTestHelper
{
ImHelper
rim
;
ImHelper
rim
;
ImHelper
wim
;
ImHelper
wim
;
const
std
::
string
dir
=
"./tmp/
1
.test"
;
const
std
::
string
dir
=
"./tmp/
sdk_test
.test"
;
void
operator
()(
std
::
function
<
void
()
>
read
,
std
::
function
<
void
()
>
write
)
{
void
operator
()(
std
::
function
<
void
()
>
read
,
std
::
function
<
void
()
>
write
)
{
wim
.
StartWriteSerice
(
dir
,
200
);
wim
.
StartWriteSerice
(
dir
,
200
);
write
();
write
();
rim
.
StartReadService
(
dir
,
200
);
// should wait for the write service create log's path
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
milliseconds
(
400
));
rim
.
StartReadService
(
dir
,
100
);
// should wait for the read service to load "tag0" tablet into memory
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
milliseconds
(
600
));
std
::
this_thread
::
sleep_for
(
std
::
chrono
::
milliseconds
(
600
));
read
();
read
();
}
}
...
...
visualdl/storage/storage.cc
浏览文件 @
b6b64db0
...
@@ -44,7 +44,7 @@ void MemoryStorage::PersistToDisk(const std::string &dir) {
...
@@ -44,7 +44,7 @@ void MemoryStorage::PersistToDisk(const std::string &dir) {
CHECK
(
!
dir
.
empty
());
CHECK
(
!
dir
.
empty
());
storage_
.
set_dir
(
dir
);
storage_
.
set_dir
(
dir
);
// make a directory if not exist
// make a directory if not exist
fs
::
TryMkdir
(
dir
);
fs
::
Try
Recur
Mkdir
(
dir
);
// write storage out
// write storage out
LOG
(
INFO
)
<<
"to serize meta to dir "
<<
dir
;
LOG
(
INFO
)
<<
"to serize meta to dir "
<<
dir
;
fs
::
SerializeToFile
(
storage_
,
meta_path
(
dir
));
fs
::
SerializeToFile
(
storage_
,
meta_path
(
dir
));
...
...
visualdl/utils/filesystem.h
浏览文件 @
b6b64db0
...
@@ -44,13 +44,26 @@ bool DeSerializeFromFile(T* proto, const std::string& path) {
...
@@ -44,13 +44,26 @@ bool DeSerializeFromFile(T* proto, const std::string& path) {
}
}
void
TryMkdir
(
const
std
::
string
&
dir
)
{
void
TryMkdir
(
const
std
::
string
&
dir
)
{
VLOG
(
1
)
<<
"try to mkdir "
<<
dir
;
LOG
(
INFO
)
<<
"try to mkdir "
<<
dir
;
struct
stat
st
=
{
0
};
struct
stat
st
=
{
0
};
if
(
stat
(
dir
.
c_str
(),
&
st
)
==
-
1
)
{
if
(
stat
(
dir
.
c_str
(),
&
st
)
==
-
1
)
{
::
mkdir
(
dir
.
c_str
(),
0700
);
::
mkdir
(
dir
.
c_str
(),
0700
);
}
}
}
}
// Create a path by recursively create directries
void
TryRecurMkdir
(
const
std
::
string
&
path
)
{
// split path by '/'
for
(
int
i
=
1
;
i
<
path
.
size
()
-
1
;
i
++
)
{
if
(
path
[
i
]
==
'/'
)
{
auto
dir
=
path
.
substr
(
0
,
i
+
1
);
TryMkdir
(
dir
);
}
}
// the last level
TryMkdir
(
path
);
}
inline
void
Write
(
const
std
::
string
&
path
,
inline
void
Write
(
const
std
::
string
&
path
,
const
std
::
string
&
buffer
,
const
std
::
string
&
buffer
,
std
::
ios
::
openmode
open_mode
=
std
::
ios
::
binary
)
{
std
::
ios
::
openmode
open_mode
=
std
::
ios
::
binary
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录