0

У меня есть приложение GAE. У меня есть сообщения электронной почты на NoSQL и их токены обновления Google Drive. У меня есть Cron job, который запускает Путь очереди для каждый PDF, чтобы загрузить это.GAE сбор данных данных поддержки данных

Нет. Я хочу отправить электронное письмо каждому пользователю о своих данных в формате PDF.

Я не могу отправить адрес электронной почты для каждого документа (например, если пользователь [email protected] имеет 10 PDF документа), я могу отправить 10 электронную почту к этой почте - каждой задача PDF отправляет каждую почту.
BUT Как собирать данные пользователей и отправлять их вместе?

Каждая задача работает над каждым PDF. Я должен собирать данные каждого пользователя вместе. и я посылаю одно письмо по всему документу (в моем примере одно электронное письмо хочет содержать 10 данных pdf-документа).

У меня есть одна идея - сохранить эти данные в хранилище данных, а на следующий день другое другое задание Cron будет собирать данные из БД и отправлять письма. так ли это хорошо?

ответ

1

Да, собирайте данные в хранилище данных и отправляйте один раз в день. Типичная модель может быть (в Python):

class DigestEmail(db.Model): 
    recipient = db.StringProperty() 
    pdf_id = db.StringProperty() 
    sent = db.BooleanProperty(default=False) 

Затем, когда вам нужно отправить письмо с вашего TaskQueue, создать объект DigestEmail. Затем, один раз в день (или любой другой), запрашивать ваши объекты DigestEmail где посланных = False, заказанного реципиенту, как это:

query = DigestEmail.gql('WHERE sent = False ORDER BY recipient') 

Затем перебирать результаты запроса и группироваться получателем. Отправьте электронное письмо и установите для отправленного свойства значение True, чтобы предотвратить его отправку. (Кроме того, удалите объекты вообще).

+0

Я работаю над java. можете ли вы перевести свой код в java? :) – grep

+0

ваш шутник, правильно ?! это довольно простой код, и он должен был быть иллюстративным, а не решением –

+0

поблагодарить u :-))))) +1 you :-)))) – grep

Смежные вопросы