За последние 24 часа нас посетили 21955 программистов и 1075 роботов. Сейчас ищут 684 программиста ...

PHP - life after pcntl_fork() - видео презентации

Тема в разделе "Прочее", создана пользователем Psih, 17 авг 2012.

  1. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Honey, I'm baaack!

    Привет народ, давненько я тут не появлялся, надо почаще заходить бы :)

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

    http://vimeo.com/47679757

    Высказывайте мнение, холиварте и.т.д. :)
     
  2. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Ковыряясь с демоном я тут "внезапно" обнаружил, что у PDO нет никаких средств проверки соединения (но это ладно) и реконнекта. А мускуль может дропнуть соединение сам по неактивности, не говоря уже о других причинах. А Yii использует PDO. Сталкивался? Мне пришлось адскую обертку писать, которая пересоздает объект PDO, но это был не фреймворк, как в Yii c этим влезть даже и не представляю.
     
  3. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Сталкивался, и я даже об этом рассказывал. Вроде даже где-то в вопросе свплыло тоже.
    Я решил это проще - я просто каждые 15 секунд отправлял на сервак запрос
    Код (Text):
    1. SELECT NOW()
    но это у меня был один большой cronjob для обработки базы и перебиралось очень много данных.

    В самом демоне у меня проблемы с соединением в данный момент нету, т.к. у меня запросы на проверку очереди идут раз в 2 секунды, а обработка выплат как правило не занимает больше 10-15 секунд.
     
  4. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Но это не отменяет других проблем потери связи, т.е. демон по хорошему должен делать рекконект, иначе любая проблема с соединением и привет.
     
  5. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Да, яж не спорю, у меня там не всё супер-пупер круто. Если теряется связь - демон отвалится и запуститься автоматом кроном в течении минуты. Небыло у меня времени заняться его доработкой раньше. А щас новый проект стартуем и там будет время заняться и этим, и паралельной обработкой, и прочими нехорошими делами :D
     
  6. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Я к тому, что PDO не очень удобная штука тут.. возможно нативный драйвер поудобнее будет в плане реконнекта. У меня в итоге вот такой монстр вырос http://pastebin.com/wPAQBstp
     
  7. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Ну в Yii выбирать не приходится на данный момент. В общем-то у меня была одна мысль - завернуть MySQLi библиотеку в класс, который реализует PDO интерфейс и подпихнуть его в драйверы. Через объект коннекта будет доступен весь дополнительный функционал MySQLi
     
  8. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.340
    Симпатии:
    44
    Да, у меня тоже была такая идея =) Но я демонов на Yii не писал и вообще плохо вижу, почему выбрал бы Yii. Демон обычно что-то небольшое все же... и желательно без излишеств, т.е. как я не любил бы ORM, но в демоне все же предпочитаю жить на прямых запросах и массивах =)
     
  9. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Ну выбор прост - проект написан на Yii, а в демоне уже просто юзаются те же модели, компоненты и.т.д. Темболее что после каждого цикла у меня все объекты чистятся и ничего лишнего в памяти не остаётся (ну и сборщик мусора, запускаемый раз в 30 секунд гарантировано очищает всё, что где-то могло застрять).
     
  10. Vantedur

    Vantedur Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    779
    Симпатии:
    2
    У тебя ужасный английский, потрать время, прослушай несколько раз все выступления проведённые аппел, их какраз много и над ними работало туча очень умного народу, перепиши их речи на листок и изучи подробно их обороты.

    P.S. Англиский, это гениальнейший язык и слышать то что ты говоришь похоже на плевок в душу английского языка.

    Следствие.... через несколько мин после прослушивания я закрыл видео потому что начал испытывать тотальное отвращение, это выступление было ошибкой, ты мог сделать всё лучше.
     
  11. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Скорее варварский язык.
    Слышал, как итальянские спортивные комментаторы балакают по-англицки? И ничего, ЕвроСпорт показывает.
    А когда русские слышат русский акцент в англ. речи, то сразу "фу". Англичанам же (американцам тем более) пофиг, лишь бы смысл передавался.
     
  12. Vantedur

    Vantedur Активный пользователь

    С нами с:
    9 июл 2010
    Сообщения:
    779
    Симпатии:
    2
    Дело не в акценте, дело в том что речь похожа не то чтобы на хромую собаку, она похожа на собаку без задних ног но с инвалидной коляской.
     
  13. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Как вы думаете, я не смотрел своё собственное выступление и считаю что у меня всё хорошо с английским? :D

    Тут всё очевидно и в разжевывании не нуждается, к тому же это первый раз на английском.