Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allowing multiple worker applications (issue #816). #817

Closed

Conversation

renan-alonkin
Copy link

Add exist_ok=True to opencensus-ext-azure.ext.azure.common.storage._maintenance_routine to avoid raising FileExistsError if the target directory already exists, which is the default behavior (exist_ok=False). This behavior (exist_ok=False) do not allow multiple worker applications (such as uvicorn) to perform run.

@@ -109,7 +114,7 @@ def __exit__(self, type, value, traceback):
def _maintenance_routine(self, silent=False):
try:
if not os.path.isdir(self.path):
os.makedirs(self.path)
os.makedirs(self.path, exist_ok=True)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you put a comment explaining the reasoning for this? (raise condition when os.makedirs is called after the if check passes but the file was already created by another worker).

@@ -5,6 +5,11 @@

from opencensus.common.schedule import PeriodicTask

try:
from pathlib import Path
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need to import Path? I don't see it being used in the logic?

@lzchen
Copy link
Contributor

lzchen commented Dec 6, 2019

Address [#816]

@lzchen
Copy link
Contributor

lzchen commented Dec 6, 2019

Closing due to workaround.

@lzchen lzchen closed this Dec 6, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants