omnata-plugin-runtime 0.11.0a308__tar.gz → 0.11.0a310__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: omnata-plugin-runtime
3
- Version: 0.11.0a308
3
+ Version: 0.11.0a310
4
4
  Summary: Classes and common runtime components for building and running Omnata Plugins
5
5
  Author: James Weakley
6
6
  Author-email: james.weakley@omnata.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "omnata-plugin-runtime"
3
- version = "0.11.0-a308"
3
+ version = "0.11.0-a310"
4
4
  description = "Classes and common runtime components for building and running Omnata Plugins"
5
5
  authors = ["James Weakley <james.weakley@omnata.com>"]
6
6
  readme = "README.md"
@@ -1209,7 +1209,10 @@ class InboundSyncRequest(SyncRequest):
1209
1209
  new_progress_update = PluginMessageStreamProgressUpdate(
1210
1210
  stream_total_counts=self._stream_record_counts,
1211
1211
  # records could have been marked as completed, but still have results to apply
1212
- completed_streams=[s for s in self._completed_streams if s not in self._apply_results or self._apply_results[s] is None],
1212
+ completed_streams=[s for s in self._completed_streams
1213
+ if s not in self._apply_results
1214
+ or self._apply_results[s] is None
1215
+ or len(self._apply_results[s]) == 0],
1213
1216
  stream_errors=self._omnata_log_handler.stream_global_errors,
1214
1217
  total_records_estimate=self._total_records_estimate
1215
1218
  )
@@ -1221,10 +1224,10 @@ class InboundSyncRequest(SyncRequest):
1221
1224
  if result is None:
1222
1225
  return False
1223
1226
  self._last_stream_progress_update = new_progress_update
1224
- else:
1225
- completed_streams_awaiting_results_upload = [
1226
- s for s in self._completed_streams if s in self._apply_results and self._apply_results[s] is not None
1227
- ]
1227
+ completed_streams_awaiting_results_upload = [
1228
+ s for s in self._completed_streams if s in self._apply_results and self._apply_results[s] is not None
1229
+ ]
1230
+ if len(completed_streams_awaiting_results_upload) > 0:
1228
1231
  logger.debug(
1229
1232
  f"Streams marked as completed but awaiting upload: {', '.join(completed_streams_awaiting_results_upload)}"
1230
1233
  )
@@ -1354,9 +1357,10 @@ class InboundSyncRequest(SyncRequest):
1354
1357
  If @managed_inbound_processing is not used, call this whenever a stream has finished recieving records.
1355
1358
  """
1356
1359
  logger.debug(f"Marking stream {stream_name} as completed locally")
1357
- self._completed_streams.append(stream_name)
1358
- # dedup just in case it's called twice
1359
- self._completed_streams = list(set(self._completed_streams))
1360
+ with self._apply_results_lock:
1361
+ self._completed_streams.append(stream_name)
1362
+ # dedup just in case it's called twice
1363
+ self._completed_streams = list(set(self._completed_streams))
1360
1364
 
1361
1365
  def set_stream_record_count(self, stream_name: str, count: int):
1362
1366
  """