Skip to content

Commit c1df014

Browse files
enolfcalvarolopez
authored andcommitted
fix: use POSIX timestamps for SSM cloud records
Enforces the use of integer timestamps for all datetime fields in the VM records Fixes #113
1 parent e70450c commit c1df014

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

caso/messenger/ssm.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
"""Module containing the APEL SSM Messenger."""
1818

19+
import datetime
1920
import json
2021
import typing
2122
import warnings
@@ -75,7 +76,7 @@ def _push_message_cloud(
7576
):
7677
"""Push a compute message, formatted following the CloudRecord."""
7778
message = f"APEL-cloud-message: v{self.version_cloud}\n"
78-
aux = "%%\n".join(entries)
79+
aux = "\n%%\n".join(entries)
7980
message += f"{aux}\n"
8081
queue.add(message.encode("utf-8"))
8182

@@ -189,11 +190,14 @@ def push(self, records):
189190
}
190191
for record in records:
191192
if isinstance(record, caso.record.CloudRecord):
192-
aux = ""
193+
aux = []
193194
for k, v in six.iteritems(record.dict(**opts)):
194195
if v is not None:
195-
aux += f"{k}: {v}\n"
196-
entries_cloud.append(aux)
196+
if isinstance(v, datetime.datetime):
197+
aux.append(f"{k}: {int(v.timestamp())}")
198+
else:
199+
aux.append(f"{k}: {v}")
200+
entries_cloud.append("\n".join(aux))
197201
elif isinstance(record, caso.record.IPRecord):
198202
entries_ip.append(record.json(**opts))
199203
elif isinstance(record, caso.record.AcceleratorRecord):

0 commit comments

Comments
 (0)