diff --git a/scheduler/scheduler.py b/scheduler/scheduler.py
index 01f5ad0dd53d97d282000937fa9bb4cb59a8499a..db872c189b381c9b4180a868772b3051d59381f0 100644
--- a/scheduler/scheduler.py
+++ b/scheduler/scheduler.py
@@ -24,8 +24,8 @@ remove_jobs(scheduler)
 # TODO: Change cron expression and repeat value for production verion.
 # Should probably be "0 0 * * * ".
 scheduler.cron(
-    '* * * * * ',               
-    func=wazuh_evidence_collector.run_collector,                 
+    '* * * * * ',
+    func=wazuh_evidence_collector.main,
     args=[],
     repeat=None,
     queue_name=CONSTANTS['redis']['queue'],
diff --git a/wazuh_evidence_collector/wazuh_evidence_collector.py b/wazuh_evidence_collector/wazuh_evidence_collector.py
index fb73fc3f9d3d3ebaa16564e77d338b4487d18b26..bc6a87a04ecbdd028fa9d7c6e9508b452a5b4f61 100644
--- a/wazuh_evidence_collector/wazuh_evidence_collector.py
+++ b/wazuh_evidence_collector/wazuh_evidence_collector.py
@@ -49,6 +49,12 @@ def get_tool_id():
 
     return version
 
+def main():
+    try:
+        run_collector()
+    except BaseException as e:
+        LOGGER.exception("Exception caught in run_collector()")
+
 # Wrapper function that runs all the checks (for every manager/agent)
 def run_collector():
 
@@ -201,4 +207,4 @@ def generate_evidence(wc, es, agent):
     return create_evidence(get_id(), "evidence_collector_service", get_tool_id(), raw_evidence, resource)
 
 if __name__ == "__main__":
-    run_collector()
\ No newline at end of file
+    main()
\ No newline at end of file