Ruby с скрепкой- azure - иногда требуется много времени, чтобы удалить объект из BLOB-объекта - PullRequest
0 голосов
/ 10 января 2020

Я создаю платформу, которая позволяет создавать списки (аналогично AirBnb) и загружать на них фотографии. Я использую скрепку для бумаг azure, как указано в заголовке, для хранения фотографий в Azure хранилище BLOB-объектов. Все работает отлично, кроме одного - иногда удаление фотографий занимает много времени (около 10 - 15 секунд). Мне нужно сделать больше тестов, но пока похоже, что только 1-я попытка удаления занимает много времени, а затем любое другое удаление происходит мгновенно. Если я потом ничего не удаляю в течение нескольких минут, то 1-е удаление снова занимает много времени, и если я удаляю что-то вскоре после этого, это быстро. Так выглядит какой-то механизм разогрева. Это нормальное поведение Azure хранилища BLOB-объектов (уровень производительности / доступа установлен на: Standard / Hot) или есть какая-то проблема с моим кодом или скрепкой?

Метод удаления в контроллере Photos выглядит следующим образом: * Код 1003 *

def destroy
    @photo = Photo.find(params[:id])
    @view = @photo.view

    @photo.destroy
    @photos = Photo.where(view_id: @view.id)

    respond_to :js
  end

и js, на который он также отвечает:

$('#photos').html("<%= j render 'photos_list' %>")

просто повторно отображает шаблон:

<% if @photos.count > 0 %>
  <br/><br/>

  <div class="row">
    <% @photos.each do |photo| %>
      <div class="col-md-4">
        <div class="panel panel-default">
          <div class="panel-heading preview">
            <%= image_tag photo.image.url() %>
          </div>
          <div class="panel-body">
            <span class="pull-right">
              <%= link_to view_photo_path(photo.view_id, photo), remote: true, method: :delete, data: {confirm: "Are you sure?"} do %>
                <i class="fa fa-trash-o" aria-hidden="true"></i>
               <% end %>
            </span>
          </div>
        </div>
      </div>
    <% end %>
  </div>
<% end %>

PS Да Я знаю, что скрепка устарела, и я должен перейти на ActiveStorage - это в моем списке задач, но пока этого не произойдет, я бы хотел понять, что происходит

Спасибо всем

...