У меня есть приложение, которое запускает задание pub / sub каждые пару минут.
Всякий раз, когда приложение обнаруживает, что папка не существует в Google Диске, оно правильно создает иерархию. Мне пришлось использовать многопоточность этого приложения, чтобы удовлетворить требования клиентов, и теперь создается несколько папок. Мне нужно логическое решение, лучшая практика или, возможно, понимание API, чтобы решить эту проблему.
Вот фрагмент кода:
if not output_folder:
output_folder = drive_handler.create_folder_hierarchy
(process_id, mail.get_date(), product, activity, team_drive_id)
log_handler.log_hierarchy_created(mail, process_id)
def create_folder(self, name, team_drive_id, parent):
properties = self.get_properties(parent)
fields = 'kind, id, name, mimeType, parents, properties'
body = {"name": name,
"mimeType": "application/vnd.google-apps.folder",
"parents": [parent],
"teamDriveId": team_drive_id,
"properties": properties}
folder = self.service.files().create(body=body, supportsTeamDrives=True, fields=fields).execute()
return folder
Я пробовал time.sleep (), задания cron на движке приложения, но я не чувствовал, что это лучший способ сделать это.