Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
j.hoerdt
sensor2graph
Commits
d146ad77
Commit
d146ad77
authored
Nov 15, 2021
by
neop
Browse files
fix
#13
, delete archived folders
parent
fbda8de4
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
src/main/java/sensor2graph/DayUploader.java
View file @
d146ad77
...
...
@@ -111,35 +111,53 @@ class DayUploader {
}
*/
public
static
void
upload_daily_folder
(
String
daily_folder_ur
i
)
throws
IO
Exception
{
public
static
void
upload_daily_folder
(
String
daily_folder_ur
l
)
throws
Exception
{
try
{
upload_from_csv_uris
(
get_csv_files
(
daily_folder_uri
));
create_daily_archive
(
new
URL
(
daily_folder_uri
));
upload_from_csv_uris
(
get_csv_files
(
daily_folder_url
));
}
catch
(
Exception
e
)
{
Main
.
glogger
.
log
(
Level
.
SEVERE
,
"could not import "
+
daily_folder_ur
i
+
", not adding to uploaded folders"
,
e
);
Main
.
glogger
.
log
(
Level
.
SEVERE
,
"could not import "
+
daily_folder_ur
l
+
", not adding to uploaded folders"
,
e
);
return
;
}
create_daily_archive
(
new
URL
(
daily_folder_url
));
remove_daily_folder
(
new
URL
(
daily_folder_url
));
Main
.
glogger
.
fine
(
"adding "
+
daily_folder_ur
i
+
" to list of successful days"
);
Util
.
append_to_file
(
Main
.
already_uploaded_days_file
,
daily_folder_ur
i
);
Main
.
glogger
.
fine
(
"adding "
+
daily_folder_ur
l
+
" to list of successful days"
);
Util
.
append_to_file
(
Main
.
already_uploaded_days_file
,
daily_folder_ur
l
);
}
public
static
void
create_daily_archive
(
URL
daily_folder_url
)
throws
Exception
{
String
date
=
daily_folder_url
.
getFile
().
substring
(
1
,
11
);
String
tarname
=
date
+
".tar.zst"
;
Main
.
glogger
.
info
(
"archiving "
+
date
+
" to "
+
tarname
);
Files
.
createDirectories
(
new
File
(
Main
.
csv_directory
,
date
).
toPath
(),
daily_folder_perms
);
ProcessBuilde
r
tar_zstd
=
new
ProcessBuilder
(
"tar"
,
"--zstd"
,
"-cf"
,
tarname
,
date
)
;
tar_zstd
.
directory
(
Main
.
csv_directory
)
;
tar_zstd
.
redirectErrorStream
(
true
);
va
r
tar_zstd
=
new
ProcessBuilder
(
"tar"
,
"--zstd"
,
"-cf"
,
tarname
,
date
)
.
directory
(
Main
.
csv_directory
)
.
redirectErrorStream
(
true
);
long
start_time
=
System
.
currentTimeMillis
();
check_process
(
tar_zstd
.
start
(),
"tar"
,
start_time
);
run_process
(
tar_zstd
,
"tar"
);
}
public
static
void
remove_daily_folder
(
URL
daily_folder_url
)
throws
Exception
{
String
date
=
daily_folder_url
.
getFile
().
substring
(
1
,
11
);
Main
.
glogger
.
info
(
"deleting archived folder "
+
date
);
//easier than stdlib:
var
rm
=
new
ProcessBuilder
(
"rm"
,
"-rf"
,
date
)
.
directory
(
Main
.
csv_directory
)
.
redirectErrorStream
(
true
);
run_process
(
rm
,
"rm"
);
}
public
static
void
check_process
(
Process
p
,
String
name
,
long
start_time
)
throws
Exception
{
if
(
p
.
waitFor
(
Main
.
tar_timeout_minutes
,
TimeUnit
.
MINUTES
)
==
false
/*waiting time elapsed*/
)
{
public
static
void
run_process
(
ProcessBuilder
process_builder
,
String
name
)
throws
Exception
{
long
start_time
=
System
.
currentTimeMillis
();
var
p
=
process_builder
.
start
();
if
(
p
.
waitFor
(
Main
.
process_timeout_minutes
,
TimeUnit
.
MINUTES
)
==
false
/*waiting time elapsed*/
)
{
throw
new
TimeoutException
(
name
+
" process took too long"
);
}
...
...
src/main/java/sensor2graph/Main.java
View file @
d146ad77
...
...
@@ -28,7 +28,7 @@ public class Main {
public
static
File
csv_directory
;
public
static
File
geocoding_cache
;
public
static
int
concurrency
;
public
static
int
tar
_timeout_minutes
;
public
static
int
process
_timeout_minutes
;
private
static
String
http_agent
;
private
static
String
neo4j_uri
;
private
static
File
neo4j_server_certificate_file
;
...
...
@@ -203,7 +203,7 @@ public class Main {
prefix_for_new_pids
=
config
.
getProperty
(
"prefix_for_new_pids"
);
pid_reg_server_cert
=
config
.
getProperty
(
"pid_reg_server_cert"
);
pid_reg_keystore
=
config
.
getProperty
(
"pid_reg_keystore"
);
tar
_timeout_minutes
=
Integer
.
parseInt
(
config
.
getProperty
(
"
tar
_timeout_minutes"
));
process
_timeout_minutes
=
Integer
.
parseInt
(
config
.
getProperty
(
"
process
_timeout_minutes"
));
}
...
...
@@ -231,7 +231,7 @@ public class Main {
defaults
.
setProperty
(
"prefix_for_new_pids"
,
"21.11138/"
);
defaults
.
setProperty
(
"pid_reg_server_cert"
,
"pid_reg_server_cert.pem"
);
defaults
.
setProperty
(
"pid_reg_keystore"
,
"pid_reg_keystore.p12"
);
defaults
.
setProperty
(
"
tar
_timeout_minutes"
,
"60"
);
defaults
.
setProperty
(
"
process
_timeout_minutes"
,
"60"
);
return
defaults
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment