Вопросы о дизайне приложения - PullRequest
1 голос
/ 16 декабря 2009

Я хочу загрузить информацию с другого сайта (эта часть сделана), но я делаю это каждый раз, когда страница загружается, и это не будет делать. Так что я думал о том, чтобы иметь переменную в таблице параметров, таких как «последний проверенный сайт Би-би-си», и при загрузке страницы она будет проверять, достаточно ли она долго с момента последней проверки, чтобы проверить снова. Есть ли что-нибудь глупое в том, чтобы делать это таким образом?

Также мне обязательно нужно использовать таблицы для хранения 1 переменной, как этот параметр?

Ответы [ 3 ]

2 голосов
/ 16 декабря 2009

Я думаю, что есть 2 варианта, которые будут работать для вас, кроме создания объекта в хранилище данных для отслеживания "последнего посещенного времени".

Один из способов - периодически проверять внешнюю страницу, используя cron api, как описано в jldupont.

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

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

1 голос
/ 16 декабря 2009

Вы также можете использовать Запланированные задачи .

Кроме того, вам не обязательно использовать хранилище данных для параметров конфигурации: это может быть в файле скрипта / конфигурации.

0 голосов
/ 16 декабря 2009

Если вы хотите, чтобы какой-нибудь обработчик в вашем приложении GAE (включая обработчик для запланированной задачи, приема сообщений, посещений веб-страниц и т. Д.) Сохранял некоторую новую информацию таким образом, чтобы в будущем обработчик мог ее восстановить тогда хранение GAE - единственный хороший общий способ (например, из-за вас может истечь срок действия memcache). Не уверен, что вы подразумеваете под «таблицами» (?!), Но предположил, что вы на самом деле имеете в виду хранилище GAE, ответ «да». (При очень определенных обстоятельствах вы можете захотеть поместить эти данные в другое место в сети, например, в браузер вашего посетителя, например, с помощью файлов cookie или в хранилище Amazon, и т. Д., Но мне не кажется, что эти конкретные обстоятельства применимы к вашему случаю использования).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...