Tested : the sync failed three times and it finally send only 1 error to sentry:
Log of tests
(referentiel-sync) ➜ referentiel-sync git:(add_retry_library) ✗ python incremental_sync.py ~/Desktop/test sppnaut-referentiel-carting/test
2023-03-29 12:26:47 - INFO - File watcher launched...
2023-03-29 12:26:53 - INFO - Modified file: /Users/nicolasoudard/Desktop/test/test.eps
2023-03-29 12:26:54 - INFO - AWSCLI: Traceback (most recent call last):
File "/Users/nicolasoudard/.asdf/installs/python/3.10.9/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/Users/nicolasoudard/.asdf/installs/python/3.10.9/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/awscli/__main__.py", line 21, in <module>
sys.exit(main())
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/awscli/clidriver.py", line 69, in main
driver = create_clidriver()
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/awscli/clidriver.py", line 78, in create_clidriver
load_plugins(session.full_config.get('plugins', {}),
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/awscli/plugin.py", line 44, in load_plugins
modules = _import_plugins(plugin_mapping)
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/awscli/plugin.py", line 61, in _import_plugins
module = __import__(path, fromlist=[module])
ModuleNotFoundError: No module named '/Users/nicolasoudard/workspace/beta'
2023-03-29 12:26:55 - INFO - AWSCLI: Traceback (most recent call last):
File "/Users/nicolasoudard/.asdf/installs/python/3.10.9/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/Users/nicolasoudard/.asdf/installs/python/3.10.9/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/awscli/__main__.py", line 21, in <module>
sys.exit(main())
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/awscli/clidriver.py", line 69, in main
driver = create_clidriver()
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/awscli/clidriver.py", line 78, in create_clidriver
load_plugins(session.full_config.get('plugins', {}),
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/awscli/plugin.py", line 44, in load_plugins
modules = _import_plugins(plugin_mapping)
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/awscli/plugin.py", line 61, in _import_plugins
module = __import__(path, fromlist=[module])
ModuleNotFoundError: No module named '/Users/nicolasoudard/workspace/beta'
2023-03-29 12:26:56 - INFO - AWSCLI: Traceback (most recent call last):
File "/Users/nicolasoudard/.asdf/installs/python/3.10.9/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/Users/nicolasoudard/.asdf/installs/python/3.10.9/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/awscli/__main__.py", line 21, in <module>
sys.exit(main())
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/awscli/clidriver.py", line 69, in main
driver = create_clidriver()
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/awscli/clidriver.py", line 78, in create_clidriver
load_plugins(session.full_config.get('plugins', {}),
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/awscli/plugin.py", line 44, in load_plugins
modules = _import_plugins(plugin_mapping)
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/awscli/plugin.py", line 61, in _import_plugins
module = __import__(path, fromlist=[module])
ModuleNotFoundError: No module named '/Users/nicolasoudard/workspace/beta'
2023-03-29 12:26:56 - ERROR - Command '['/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/bin/python', '-m', 'awscli', 's3', 'cp', '--endpoint-url', 'https://cellar-fr-north-hds-c1.services.clever-cloud.com', '/Users/nicolasoudard/Desktop/test/test.eps', 's3://sppnaut-referentiel-carting/test/test.eps']' returned non-zero exit status 1.
Traceback (most recent call last):
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/incremental_sync.py", line 112, in dispatch
super().dispatch(event)
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/watchdog/events.py", line 403, in dispatch
super().dispatch(event)
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/watchdog/events.py", line 272, in dispatch
{
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/incremental_sync.py", line 120, in on_modified
self._upload(event.src_path)
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/tenacity/__init__.py", line 289, in wrapped_f
return self(f, *args, **kw)
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/tenacity/__init__.py", line 379, in __call__
do = self.iter(retry_state=retry_state)
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/tenacity/__init__.py", line 325, in iter
raise retry_exc.reraise()
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/tenacity/__init__.py", line 158, in reraise
raise self.last_attempt.result()
File "/Users/nicolasoudard/.asdf/installs/python/3.10.9/lib/python3.10/concurrent/futures/_base.py", line 451, in result
return self.__get_result()
File "/Users/nicolasoudard/.asdf/installs/python/3.10.9/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
raise self._exception
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/lib/python3.10/site-packages/tenacity/__init__.py", line 382, in __call__
result = fn(*args, **kwargs)
File "/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/incremental_sync.py", line 91, in _upload
awscli.check_returncode()
File "/Users/nicolasoudard/.asdf/installs/python/3.10.9/lib/python3.10/subprocess.py", line 457, in check_returncode
raise CalledProcessError(self.returncode, self.args, self.stdout,
subprocess.CalledProcessError: Command '['/Users/nicolasoudard/workspace/beta.gouv.fr/SPPNautGenerator/referentiel-sync/.venv/bin/python', '-m', 'awscli', 's3', 'cp', '--endpoint-url', 'https://cellar-fr-north-hds-c1.services.clever-cloud.com', '/Users/nicolasoudard/Desktop/test/test.eps', 's3://sppnaut-referentiel-carting/test/test.eps']' returned non-zero exit status 1.
to be tested !
Perhaps it is time to add unit test to this referential-sync part
linked to : https://sentry.incubateur.net/organizations/betagouv/issues/22117/?project=53&query=is%3Aunresolved#breadcrumbs
Tested : the sync failed three times and it finally send only 1 error to sentry:
Log of tests
Issue on Sentry : https://sentry.incubateur.net/organizations/betagouv/issues/31600/?environment=production&project=53&query=is%3Aunresolved