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.
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/PKG-INFO +1 -1
- assemblyline_core-4.7.5.dev97/assemblyline_core/VERSION +1 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/expiry/run_expiry.py +21 -18
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core.egg-info/PKG-INFO +1 -1
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_expiry.py +1 -1
- assemblyline_core-4.7.5.dev94/assemblyline_core/VERSION +0 -1
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/LICENCE.md +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/README.md +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/alerter/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/alerter/processing.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/alerter/run_alerter.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/archiver/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/archiver/run_archiver.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/badlist_client.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/dispatching/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/dispatching/client.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/dispatching/dispatcher.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/dispatching/schedules.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/expiry/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/ingester/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/ingester/constants.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/ingester/ingester.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/metrics/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/metrics/es_metrics.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/metrics/heartbeat_formatter.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/metrics/helper.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/metrics/metrics_server.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/metrics/run_heartbeat_manager.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/metrics/run_metrics_aggregator.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/metrics/run_statistics_aggregator.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/client.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/creator/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/creator/run.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/creator/run_worker.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/loader/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/loader/run.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/loader/run_worker.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/replay.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/safelist_client.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/base.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/collection.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/controllers/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/controllers/docker_ctl.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/controllers/interface.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/controllers/kubernetes.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/controllers/kubernetes_ctl.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/run_scaler.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/scaler_server.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler_hpa/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler_hpa/kubernetes.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler_hpa/run_scaler.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler_hpa/scaler_server.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/server_base.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/signature_client.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/submission_client.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/updater/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/updater/helper.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/updater/run_updater.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/vacuum/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/vacuum/crawler.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/vacuum/department_map.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/vacuum/safelist.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/vacuum/stream_map.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/vacuum/worker.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/workflow/__init__.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/workflow/run_workflow.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core.egg-info/SOURCES.txt +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core.egg-info/dependency_links.txt +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core.egg-info/requires.txt +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core.egg-info/top_level.txt +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/setup.cfg +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/setup.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_alerter.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_badlist_client.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_replay.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_safelist_client.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_scaler.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_scheduler.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_signature_client.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_updater_helper.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_vacuum.py +0 -0
- {assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_workflow.py +0 -0
|
@@ -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
|
-
|
|
431
|
-
queries = self.day_chunks(collection)
|
|
430
|
+
self.run_collection_once(collection)
|
|
432
431
|
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
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
|
-
|
|
439
|
-
|
|
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
|
-
|
|
442
|
-
|
|
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
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
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}")]
|
|
@@ -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.
|
|
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
|
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/badlist_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/expiry/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/metrics/helper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/__init__.py
RENAMED
|
File without changes
|
{assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/replay/replay.py
RENAMED
|
File without changes
|
{assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/safelist_client.py
RENAMED
|
File without changes
|
{assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/__init__.py
RENAMED
|
File without changes
|
{assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/scaler/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/server_base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/updater/helper.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/vacuum/__init__.py
RENAMED
|
File without changes
|
{assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/vacuum/crawler.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/vacuum/safelist.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/assemblyline_core/vacuum/worker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_safelist_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline_core-4.7.5.dev94 → assemblyline_core-4.7.5.dev97}/test/test_signature_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|