All streams
Search
Write a publication
Pull to refresh
8
0
Кирилл @r00tGER

Пользователь

Send message
Я как-то хотел запилить опрос «Что будете делать если Хабр исчезнет?» (-10 к карме)
Красного как-то много в результате.
> Must set a body

У меня тоже постоянно в логах проскакивает, причем с разными клиентами.
Тем не менее все работает, поэтому особо не капал причину.
Меня не смущает, никогда XMPP службу не планировал использовать для публичных сервисов. Использую исключительно для «админских» уведомлений. И опять повторюсь, если использовать публично — нет никакой защиты от преднамеренного расхода квот.
Хороший пример социально-саморегулирующейся-системы — карма на Хабре.
Всегда найдется мудак умник, минусящий от фанаря
Уже предвкушаю слоганы: «поисковое задвижение», «понижение рейтинга сайта»…
Сеота уже приготовилась минусить неугодные сайты.
Я тут как раз в Q&A писал про вот это:

Вообще не пользуюсь визуальным редактором — это не свинговские лаяуты.
В API нет отдельной функции получения JID без ресурса. (во всяком случае я нигде не встречал)

Так, что руками придтся
Да, крон работает только с дефолтной версией.

Что-бы каждый раз не лазить в консоль администрирования и не менять вручную версии, просто не меняйте версию в appengine-web.xml при загрузке, она тогда заменит существующую.

This URL (/_ah/xmpp/message/chat/) path is restricted to app administrators automatically. The XMPP service connects to the app with «administrator» status for the purposes of accessing this URL path. You can configure the path to have this restriction explicitly if you like, but this is not necessary. Only the XMPP service and clients authenticated as administrators using Google Accounts can access this URL path.

Видимо службы крон работает с приложением не от имени администратора.

Как вариант для отладки, я же предлагал замапить сервлет на любой другой адрес, /_ah/xmpp/message/chat/
В групах по GAE не состою, поэтому тут вообще ничего не могу посоветовать.

Можно зарегаться тут: http://www.appenginepeople.net/

Там много народу в теме.
Извиняюсь, хотел ввести в заблуждение :)

В кроне всё просто — как приходит время, служба выполняет обычный GET-запрос к указанному url.

По указанному урл должен быть сервлет, который реализует метод:

public void doGet(HttpServletRequest req, HttpServletResponse res){
// do cron jobs
}
>Только у гугла как-то совсем документация рваная какая-то.

Видимо, смотрите на русском, переключитесь на английский:

http://code.google.com/intl/en/appengine/docs/java/config/queue.html
http://code.google.com/intl/en/appengine/docs/java/taskqueue/

«Class XMPPServiceFactory — Constructs an instance of the XMPP service.»

XMPPServiceFactory.getXMPPService() — создает отдельный инстанс сервиса.

Думаю на деле, все равно объект XMPPService служба возвращает один и тот же.

Не вижу смысла как-то разделять сам инстанс между разными сервлётами, если у Вас их всего пара — один на «прием», другой — на «передачу». Т.к. в самом объекте XMPPService нельзя сохранять какие-либо данные.

Крон может «дергать» тот-же самый сервлёт, что обрабатывает >простые запросы-сообщения.
На локальном сервере разработки исходящие сообщения отправляются на консоль. Входящие сообщения среда разработки эмулировать не может.

Как выход, вручную выполнять POST-запрос, как это делает сервис. Временно замапить сервлет обрабатывающий входящие сообщения на любой другой URL, т.к. /_ah/xmpp/message/chat/ не доступен снаружи.
Первое что приходит на ум: «А где же PowerLine?»
Да, конечно разрешение для А0 маловато, но отправил на печать как есть прямо из браузера. Плоттер трудился пару минут. В общем 11 минут вполне достаточно.
Спасибо! Уже повесил в формате А0 на стену! Толку особо не вижу, зато плакат отличный получился.
Что-то курс молодой бойца не полный. А как вытащить магнитолу? (естественно для ремонта, если сломалась).

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity