assemblyline-core 4.7.5.dev94__tar.gz → 4.7.5.dev97__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.
Files changed (85) hide show
  1. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/PKG-INFO +1 -1
  2. assemblyline_core-4.7.5.dev97/assemblyline_core/VERSION +1 -0
  3. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/expiry/run_expiry.py +21 -18
  4. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core.egg-info/PKG-INFO +1 -1
  5. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_expiry.py +1 -1
  6. assemblyline_core-4.7.5.dev94/assemblyline_core/VERSION +0 -1
  7. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/LICENCE.md +0 -0
  8. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/README.md +0 -0
  9. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/__init__.py +0 -0
  10. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/alerter/__init__.py +0 -0
  11. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/alerter/processing.py +0 -0
  12. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/alerter/run_alerter.py +0 -0
  13. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/archiver/__init__.py +0 -0
  14. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/archiver/run_archiver.py +0 -0
  15. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/badlist_client.py +0 -0
  16. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/dispatching/__init__.py +0 -0
  17. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/dispatching/client.py +0 -0
  18. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/dispatching/dispatcher.py +0 -0
  19. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/dispatching/schedules.py +0 -0
  20. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/expiry/__init__.py +0 -0
  21. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/ingester/__init__.py +0 -0
  22. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/ingester/constants.py +0 -0
  23. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/ingester/ingester.py +0 -0
  24. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/metrics/__init__.py +0 -0
  25. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/metrics/es_metrics.py +0 -0
  26. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/metrics/heartbeat_formatter.py +0 -0
  27. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/metrics/helper.py +0 -0
  28. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/metrics/metrics_server.py +0 -0
  29. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/metrics/run_heartbeat_manager.py +0 -0
  30. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/metrics/run_metrics_aggregator.py +0 -0
  31. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/metrics/run_statistics_aggregator.py +0 -0
  32. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/__init__.py +0 -0
  33. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/client.py +0 -0
  34. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/creator/__init__.py +0 -0
  35. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/creator/run.py +0 -0
  36. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/creator/run_worker.py +0 -0
  37. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/loader/__init__.py +0 -0
  38. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/loader/run.py +0 -0
  39. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/loader/run_worker.py +0 -0
  40. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/replay.py +0 -0
  41. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/safelist_client.py +0 -0
  42. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/__init__.py +0 -0
  43. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/base.py +0 -0
  44. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/collection.py +0 -0
  45. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/controllers/__init__.py +0 -0
  46. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/controllers/docker_ctl.py +0 -0
  47. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/controllers/interface.py +0 -0
  48. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/controllers/kubernetes.py +0 -0
  49. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/controllers/kubernetes_ctl.py +0 -0
  50. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/run_scaler.py +0 -0
  51. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/scaler_server.py +0 -0
  52. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler_hpa/__init__.py +0 -0
  53. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler_hpa/kubernetes.py +0 -0
  54. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler_hpa/run_scaler.py +0 -0
  55. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler_hpa/scaler_server.py +0 -0
  56. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/server_base.py +0 -0
  57. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/signature_client.py +0 -0
  58. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/submission_client.py +0 -0
  59. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/updater/__init__.py +0 -0
  60. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/updater/helper.py +0 -0
  61. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/updater/run_updater.py +0 -0
  62. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/vacuum/__init__.py +0 -0
  63. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/vacuum/crawler.py +0 -0
  64. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/vacuum/department_map.py +0 -0
  65. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/vacuum/safelist.py +0 -0
  66. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/vacuum/stream_map.py +0 -0
  67. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/vacuum/worker.py +0 -0
  68. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/workflow/__init__.py +0 -0
  69. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/workflow/run_workflow.py +0 -0
  70. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core.egg-info/SOURCES.txt +0 -0
  71. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core.egg-info/dependency_links.txt +0 -0
  72. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core.egg-info/requires.txt +0 -0
  73. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core.egg-info/top_level.txt +0 -0
  74. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/setup.cfg +0 -0
  75. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/setup.py +0 -0
  76. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_alerter.py +0 -0
  77. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_badlist_client.py +0 -0
  78. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_replay.py +0 -0
  79. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_safelist_client.py +0 -0
  80. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_scaler.py +0 -0
  81. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_scheduler.py +0 -0
  82. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_signature_client.py +0 -0
  83. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_updater_helper.py +0 -0
  84. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_vacuum.py +0 -0
  85. {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: assemblyline-core
3
- Version: 4.7.5.dev94
3
+ Version: 4.7.5.dev97
4
4
  Summary: Assemblyline 4 - Core components
5
5
  Home-page: https://github.com/CybercentreCanada/assemblyline-core/
6
6
  Author: CCCS Assemblyline development team
@@ -0,0 +1 @@
1
+ 4.7.5.dev97
@@ -427,35 +427,38 @@ class ExpiryManager(ServerBase):
427
427
  Perodically a workers will terminate and this calculation will be redone.
428
428
  """
429
429
  while self.running:
430
- # Calculate how many queries we want to run
431
- queries = self.day_chunks(collection)
430
+ self.run_collection_once(collection)
432
431
 
433
- # prepare a thread pool suitable for that operation
434
- with ThreadPoolExecutor(len(queries)) as pool:
435
- # Prepare a signal so we can stop all the workers as desired
436
- stop = threading.Event()
432
+ def run_collection_once(self, collection):
433
+ # Calculate how many queries we want to run
434
+ queries = self.day_chunks(collection)
437
435
 
438
- # dispatch each of these queries
439
- futures = [pool.submit(self.run_collection_query, collection, stop, query) for query in queries]
436
+ # prepare a thread pool suitable for that operation
437
+ with ThreadPoolExecutor(len(queries)) as pool:
438
+ # Prepare a signal so we can stop all the workers as desired
439
+ stop = threading.Event()
440
440
 
441
- # wait for one of them to finish
442
- for future in as_completed(futures):
443
- stop.set()
444
- future.result()
441
+ # dispatch each of these queries
442
+ futures = [pool.submit(self.run_collection_query, collection, stop, query) for query in queries]
445
443
 
446
- def day_chunks(self, collection):
447
- # Figure out the range of time we want to build queries for
448
- earliest = self.get_earliest_expiring(collection)
449
- if not earliest:
450
- return []
451
- days = int((now() - earliest)/(60 * 60 * 24)) + 1
444
+ # wait for one of them to finish
445
+ for future in as_completed(futures):
446
+ stop.set()
447
+ future.result()
452
448
 
449
+ def day_chunks(self, collection):
453
450
  # Base no settings we will truncade expiry ranges by the day
454
451
  if self.config.core.expiry.batch_delete:
455
452
  suffix = f"-{self.config.core.expiry.delay}h/d"
456
453
  else:
457
454
  suffix = f"-{self.config.core.expiry.delay}h"
458
455
 
456
+ # Figure out the range of time we want to build queries for
457
+ earliest = self.get_earliest_expiring(collection)
458
+ if not earliest:
459
+ return [f"expiry_ts: [* TO now{suffix}}}"]
460
+ days = int((now() - earliest)/(60 * 60 * 24)) + 1
461
+
459
462
  # construct the ranges that build queries covering all of those days, bounded by
460
463
  # the appropirately modifide NOW on the high end, and modfied to be open on the low end
461
464
  ranges = [(f"now-1d{suffix}", f"now{suffix}")]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: assemblyline-core
3
- Version: 4.7.5.dev94
3
+ Version: 4.7.5.dev97
4
4
  Summary: Assemblyline 4 - Core components
5
5
  Home-page: https://github.com/CybercentreCanada/assemblyline-core/
6
6
  Author: CCCS Assemblyline development team
@@ -70,7 +70,7 @@ def test_expire_all(config, ds_expiry, filestore):
70
70
  if collection.name in expiry.fs_hashmap:
71
71
  expiry.feed_expiry_jobs(collection=collection, pool=pool, start='*', jobs=[])
72
72
  else:
73
- pool.submit(expiry.run_collection, collection)
73
+ pool.submit(expiry.run_collection_once, collection)
74
74
 
75
75
  for k, v in expiry_collections_len.items():
76
76
  assert v == expiry.counter.get(k)
@@ -1 +0,0 @@
1
- 4.7.5.dev94