Създайте автоматично периодично задание, което да се изпълнява на всеки 10 минути в App Engine

Проблемът ми е, че искам да планирам работа на сървър на всеки 10 минути, която ще изтегля, анализира и съхранява rss емисии в база данни. Четох за Task Queue на App Engine, но не съм сигурен дали това ще бъде правилният инструмент за работата?? Благодаря момчета

Адриан


person Adrian L    schedule 24.09.2014    source източник


Отговори (1)


Изглежда, че искате да планирате задачи чрез cron: вижте документите за java и python.

Cron ще задейства GET заявка за вашия манипулатор, която има краен срок за заявка от 10 минути, което трябва да е достатъчно, ако работите на всеки 10 минути.

person tx802    schedule 24.09.2014
comment
о, това е още по-добре, благодаря. Така че GET заявката ще бъде просто път към сървлет, който ще свърши работата правилно? - person Adrian L; 24.09.2014
comment
Точно така, така че можете да изпратите заявка и ръчно, но вероятно ще искате да защитите вашите манипулатори на cron срещу обща употреба. Всичко е в документи. - person tx802; 24.09.2014
comment
Благодаря tx802, погледнах документите, всичко ми изглежда доста ясно! :) - person Adrian L; 24.09.2014
comment
Имам още един въпрос. Създавам уеб приложение, което ще служи за клиенти на браузър, както и за устройства с Android и iOS. Поради тази причина искам да използвам крайни точки на Google, така че мога ли да създам само класове за крайни точки вместо Java сървлети? Или греша като го мисля. Е, документите ме оставиха с въпроси без отговор ;( - person Adrian L; 25.09.2014
comment
Сървлетите и крайните точки са наистина различни начини за достъп до вашата бизнес логика. Така че предполагам, че ще използвате сървлет (задействан от cron), за да вземете вашите RSS емисии и да съхранявате данните локално (в Datastore или Cloud SQL). След това ще създадете своите крайни класове, за да предоставите достъп до тези локално съхранени данни на вашите Android и уеб клиенти. - person tx802; 25.09.2014
comment
Така че като минимум ще имам ли само един сървлет, който ще върши работата на cron, а останалите ще бъдат класове за крайна точка? Просто се чудех как сървлетите всъщност се различават от крайните точки?? И двамата вършат почти една и съща работа, с изключение на това, че имат достъп до източника на данни по различни начини (параметри на заявка срещу почивка)? Тук ли съм? - person Adrian L; 25.09.2014
comment
Да, крайните точки се грижат за сериализирането на вашите данни за отговор и са просто прости пояснения към вашата бизнес логика. Със сървлета просто трябва да имплементирате doGet() метод, за да направите подходящите извиквания на другите си класове. Голяма част от App Engine разчита на сървлети (в средата за изпълнение на Java): cron, опашки със задачи и т.н., но крайните точки улесняват излагането на логиката на приложението ви на уеб и мобилни клиенти. - person tx802; 25.09.2014