Импортируйте данные в Google App Engine так, чтобы пользователь приложения был "легок"

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

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

Время начала Продолжительность Сервис Идентификатор клиента
2012-08-02 09:50AM, 01:00:00, Стрижка,   94782910,    
2012-08-02 10:50AM, 00:30:00, Dye Job,    42548910, 
...

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

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

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

Любые идеи о том, что будет "хороший" способ справиться с этим?

Спасибо!

2 ответа

Решение

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

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

Другие вопросы по тегам