Импорт данных в Google App Engine удобным для пользователя способом.

Создание приложения с использованием Python в GAE, которое обрабатывает множество пользовательских данных, таких как контакты, встречи и т. д.

Хотел бы разрешить пользователям импортировать свои старые данные из других приложений. Например, встреча может выглядеть так:

Start time          Duration  Service     Customer Id
2012-08-02 09:50AM, 01:00:00, Hair cut,   94782910,    
2012-08-02 10:50AM, 00:30:00, Dye job,    42548910, 
...

Я не знаком с общепринятой практикой обращения с такого рода ситуациями. Я также вижу проблемы с обработкой этого в движке приложения Google, потому что запросы не могут занимать более 30 секунд.

В идеале кажется, что пользователи должны иметь возможность загружать CSV-файлы своих данных через веб-страницу, но я действительно не знаю хорошего способа сделать это с помощью механизма приложения.

Другой способ, который я могу придумать, - позволить пользователям вырезать и вставлять текст непосредственно в текстовую область HTML. Затем можно использовать javascript для повторения данных и отправки их на сервер по одной строке за раз или небольшими порциями. Это звучит очень схематично для меня.

Любые идеи о том, какой «хороший» способ справиться с этим был бы?

Большое спасибо!


person Chris Dutrow    schedule 02.08.2012    source источник


Ответы (2)


Все зависит от того, сколько строк вы собираетесь импортировать, если это умеренное количество (до 50 строк), вы можете выполнить импорт в обработчике. Если это больше, вам нужно будет использовать конвейер (который поддерживает работу с csv ) и, возможно, отправить пользователю электронное письмо после завершения импорта.

person Shay Erlichmen    schedule 02.08.2012

Попросите пользователя загрузить файл, а затем запустить задачу, которая запускает импорт. Результаты/ошибки по электронной почте пользователю в конце. Другой способ, который я сделал, - заставить пользователя создать электронную таблицу в документах Google и предоставить ключ листа или ссылку, если она опубликована, а затем запустить задачу, которая обрабатывает электронную таблицу непосредственно из документов Google.

person Tim Hoffman    schedule 02.08.2012