Google app engine как платформа для вебразработки. Мониторинг сайтов при помощи app engine.

Какое-то время назад я увлекся экспериментами с платформой google app engine. Впечатления очень положительные. Безусловно не всякое приложение можно сделать в силу ограничение на скорость работы скрипта, время работы, некоторые возможности (например сокетные коннекты). Подкупает простота. Сделано программистами для программистов. Масса возможностей и ничего лишнего. Очень легко настраиваются задачи запускаемые по времени (типа отложенных задач и типа задач по крону). Очень просто работать с хранилище, которое не совсем SQL, что конечно дает свои достоинства и недостатки, но надо не забывать что это хранилище с неограниченным горизонтальным масштабированием, что само по себе нечто. Кеш, авторизация, язык темплейтов — из коробки. Средства для логирования, мониторинга, переключения версий по одному клику. Единственная причина почему это не становится массовой платформой для веба это инертность программистов, я думаю. Но тем не менее по тем изменениям что я вижу вокруг себя, популярность понемногу приходит к app engine.

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

from google.appengine.api import users

import os
import wsgiref.handlers

import cgi
import datetime
import httplib
import time

from google.appengine.api.labs import taskqueue
from google.appengine.ext.webapp import template
from google.appengine.ext import db
from google.appengine.ext import webapp
from google.appengine.api import memcache
from google.appengine.api import mail


class MonitoringHandler(BaseHandler):    
        
    def get(self):       
        today = datetime.datetime.now().strftime("%d-%m-%y %H:%M:%S")
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write(today)        
        try:
            conn = httplib.HTTPSConnection("site.com", timeout=1000)
            conn.request("GET", "/")
            
            if(conn.getresponse().read().find("some text string") < = 0):
                raise Exception("String not found")
            self.response.out.write(" Everything is ok")
        except Exception, e:                   
			self.response.out.write(" Send email")
			mail.send_mail(sender="from@email.com",
						  to="your@email.com",
						  subject="ServerFail",
						  body="[%s] %s" % (today, e))

if __name__ == '__main__':    
    application = webapp.WSGIApplication(
        [
            ('/', MonitoringHandler)            
        ], debug=True
    )
    wsgiref.handlers.CGIHandler().run(application)

Comments

comments

Leave a reply:

Site Footer

Sliding Sidebar

About Me

About Me

Для кого этот блог?

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

Что заставило меня создать его?

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

Немного о себе.

Мой первый серьезный опыт в IT это работа над desktop приложениями в компании «Эксперт-Софт». У истоков её стояли несколько амбициозных и талантливых молодых людей, с огнем в глазах и желанием работать «как майкрософт». То чем мы там занимались вполне могли бы сегодня назвать «стартапом». Рук было откровенно мало, поэтому приходилось заниматься всем: кодированием на Delphi, написанием скриптов на VBA, дизайном, вёрсткой и поддержкой вебсайта, работой над рекламной полиграфией, проектированием интерфейсов и БД. Работы было много, но запал был велик, команда очень разношерстная, гармонично дополняя друг-друга в решении нетривиальных задач. Благодаря тому что пришлось попробовать многое, постепенно вырисовалось понимание того чем хочется заниматься, и как. Софтверным программированием я был сыт по горло. Массы проблем десктопного софта в вебе просто не было, по определению. Зато был четкий фокус на дизайне, юзабилити, скорости. Поэтому когда пришла пора уходить из «Эксперт-Софт», я без всякого сожаления стал искать работу как разработчик для web. Поскольку городишко у нас не очень большой, выбор был практически предопределен. Так я стал работать в «Оникс-Системз», где и продолжаю работать поныне. За время работы в компании я как разработчик принимал участие в работе над несколькими десятками проектов. Несколько десятков проектов было сделано мною как фрилансером. Самым большим проектом в котором я сыграл роль менеджера, считаю свою семью. Также довольно большой проект мы сейчас поднимаем с командой разработчиков (на данный момент команда состоит из четырех php разработчиков, одного flex кодера и тестировщика). Отсюда, большой интерес к современным практикам и методологиям, разным подходам в управлении командой, повышению эффективности и качества работы. По мере сил, вдохновения и свободного времени, я буду писать об этом.

Если у Вас возникли какие-то вопросы ко мне лично, буду рад если Вы свяжетесь со мной:

e-mail:
skype: denis.sheremetov
Старый сайт, с музычкой и флешом

Прочая онлайновая деятельность: