За последние 24 часа нас посетили 17305 программистов и 1740 роботов. Сейчас ищут 1012 программистов ...

PHP + ICQ (не про то, как зайти в icq через php)

Тема в разделе "Прочие вопросы по PHP", создана пользователем poryt, 24 авг 2010.

  1. poryt

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

    С нами с:
    13 янв 2010
    Сообщения:
    17
    Симпатии:
    0
    Всех приветствую.
    Есть задача.
    Нужно каждую минуту скриптом проверять базу и если время пришло(время там может стоять любое, поэтому и нужно проверять каждую минуту) - слать сообщения юзеру в icq. Это не спамерка (не стал бы я с php париться), а что-то типо оповещения.
    Отправлять через icq я могу, логиниться - всё это есть в инете. Проблема в другом.
    У меня есть 2 алгоритма для этого
    1) Кроном каждую минуту запускаем скрипт, логинимся в icq, отправляем если нужно, разлог-ся. Но боюсь, что могут быть проблемы с подключением (лог, разлог каждую минуту может залочить icq. Сам нередко видел у себя на компе сообщение "Вы подключаетесь слишком часто... бла-бла")
    2) Запустить скрипт 1 раз, логиниться, и далее юзать sleep на минуту.
    То есть он 1 раз залогиниться, а далее будет идти цикл с проверкой пришло ли время отправки, если да то отправляем, затем сон на минуту и снова сначала(т.е. проверка и т.д.). Но вот тут боюсь, что память нагнется, подскажите может какие функции юзать, чтобы память осовбождать. может нужно переменные убивать постоянно или еще чтото. Вообще прокатит ли этот метод. Можно по сути и убивать запуск скрипта другим скриптом каждый час, например.
    В общем суть в том, какие функции для 2ого варианта использовать, чтобы память не забилась.
    Спасибо
     
  2. Apple

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

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Демон?
    Вообще мудиться с демонами на РНР не совсем кошерно на мой взгляд. Соединение с сервером ICQ одно, ну дак напиши CGI-приложение на С++, которое держит одно соединение и прикладные коннекты (транзитивный?). Там умений особых не надо. А хочешь поебсти мозг себе и всем нам - демон на РНР самое то.
     
  3. topas

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

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    poryt
    Память нагнётся только в том случае, если у тебя каша из объектов с многочисленными циклическими ссылками:

    Объкт1 -> Объект2,
    Объект2 -> Объект1

    Такие два объекта будут жить "вечно".

    Так же на утечки могут возникать в случае ошибок стандартных функций, хотя встречается редко.