Я использую Objectify в моем модуле конечных точек Google, мой проект конечной точки обрабатывает большинство моих операций чтения и записи в хранилище данных, но я хотел знать, является ли эффективной практикой проектирования использование очередей задач для переноса операции чтения или записи в хранилище данных в движке Google.Очереди задач и Datastore читают и записывают
ответ
Все данные, необходимые для выполнения задачи, должны быть записаны где-то, а App Engine сохраняет эти данные в очереди задач, поддерживаемой одним и тем же хранилищем данных. Если ваша операция записи не включает в себя хруст числа, выбор URL, внешние вызовы API, обновления сотен на сущности или какую-либо другую дорогостоящую логику, нет никакой выгоды для того, чтобы обернуть вызов записи в задаче.
В большинстве случаев обматывание запросов чтения в задачах невозможно, так как вы теряете возможность возвращать эти данные одним и тем же вызовом.
Спасибо, как я уже сказал, это была просто мысль. Вы разработчик appengine. –
Вы можете нажать на мое имя, чтобы увидеть, что я не :) Но я использую App Engine уже много лет. –
Хорошо, просто начал использовать его, любя его. –
Рассмотрите возможность использования write-behind-cache, если вы хотите ускорить запись. Есть небольшой шанс, что вы потеряете свои данные, но вы значительно ускорите скорость записи (как видно пользователю).
Идея состоит в том, чтобы сначала записать объект только в memcache, поэтому пользователь не будет ждать записи фактического хранилища данных, а затем возьмет этот memcached объект по очереди задач/cron и запишет его в хранилище данных.
Я использую objectify @cache аннотацию, поэтому я думаю, что кэш-память обрабатывается, я не понимаю ур концепцию write-behind-cache tho. –
Фактически обрабатывает async пишет прозрачно (если вы не используете.now()), вы не получите никакой обратной связи (например, созданного идентификатора объекта). – jirungaray
Огонь и забудем, что я имею в виду, но я понимаю, но есть определенные операции, которые он не будет применять к типичному примеру, когда ур обрабатывает транзакцию, возможно, потребуется получить идентификатор одного объекта и ссылаться на другой объект. для наконечника tho. –
- 1. DeadlineExceededException и DataStore/Операции очереди задач
- 2. WriteFile() и ReadFile() асинхронно не записывают или не читают
- 3. Методы маркировки, которые не читают/записывают состояние экземпляра
- 4. Асинхронные очереди задач и асинхронные IO
- 5. Google appengine: производительность очереди задач
- 6. Два приложения, которые читают/записывают один и тот же текстовый файл
- 7. Что происходит, когда родительский процесс и дочерний процесс читают один и тот же файл и записывают в другой файл?
- 8. Выполнение очереди задач
- 9. Обзор системы очереди задач
- 10. Задачи очереди задач GAE блокируются
- 11. Nodejs: Обработка очереди задач Async
- 12. контекст безопасности очереди задач приложения
- 13. Конечная точка очереди задач TFS
- 14. Целевые очереди GAE с ETA и большое количество задач
- 15. Google App Engine - имена и транзакции очереди задач
- 16. Eclipse GWT и AppEngine - локальные очереди задач больше не выполняются
- 17. Как программно создавать и приостанавливать очереди задач Google App Engine
- 18. Статус 405 из очереди задач
- 19. клиент/сервер печатают массив и записывают обратно
- 20. Использование Task.Factory.StartNew для очереди задач
- 21. RabbitMQ - объединить рабочие очереди и очереди маршрутизации
- 22. Каркасы общих задач с помощью Jquery, Java и Datastore - Вход/Выход и User Fields
- 23. ActionScript Socket и XMLSocket читают полные данные
- 24. Трубы Hadoop пишут и параллельно читают?
- 25. рельсы читают файл и хранят базу данных
- 26. Chrome и Safari читают CSS по-разному?
- 27. Страшный «ординал не в радиусе» при использовании UnicodeWriter - файлы записывают/читают чисто иначе
- 28. Приложения, которые читают или записывают данные за пределами указанной области контейнера, будут отклонены.
- 29. Задачи сельдерей, работники и очереди
- 30. Уникальные имена задач очереди задач только для активной продолжительности
Почему вы хотите обернуть чтение/запись в задачах? Какую проблему ты пытаешься решить? –
Я просто стараюсь, если это поможет ускорить чтение и запись операций. –