ФорумРазработкаУстановка и администрирование ПОВебсервер → CRON - все про него любимого

CRON - все про него любимого

  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 23 апреля 2008 г. 3:35

    Вот понадобился cron, почитал …
    Я так понимаю все команды содержатся в виде файла?

    Могу ли я средствами php изменять этот "файл" *(fopen …) ?
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 23 апреля 2008 г. 3:50, спустя 15 минут 8 секунд

    средствами php ты можешь делать exec()
    я думаю этого будет достаточно…
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 23 апреля 2008 г. 3:50, спустя 31 секунду

    Ну если сервер твой то возможно. А на хостинге вряд ли. По крайней мере мне сказали что не предусмотрена такая возможность. Типа есть интерфейс в нем и нужно всё делать.
    from TRIAL with LOVE
  • md5

    Сообщения: 11951 Репутация: N Группа: в ухо

    Spritz 23 апреля 2008 г. 3:53, спустя 2 минуты 38 секунд

    перед "любимого" запятую потерял
    все умрут, а я изумруд
  • AlexB

    Сообщения: 4288 Репутация: N Группа: в ухо

    Spritz 23 апреля 2008 г. 5:13, спустя 1 час 20 минут 34 секунды


    Могу ли я средствами php изменять этот "файл" *(fopen …) ?
    Средствами php ты можешь изменять ровно те файлы, на изменение которых есть права у юзера, под которым крутится апач (в том случае, конечно, когда php установлен как модуль).
    Только вот за каким хреном менять этот файл средствами php - абсолютно не понятно. Идея изначально бредовая.
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 23 апреля 2008 г. 5:45, спустя 31 минуту 14 секунд



    Могу ли я средствами php изменять этот "файл" *(fopen …) ?
    Средствами php ты можешь изменять ровно те файлы, на изменение которых есть права у юзера, под которым крутится апач (в том случае, конечно, когда php установлен как модуль).
    Только вот за каким хреном менять этот файл средствами php - абсолютно не понятно. Идея изначально бредовая.

    Возможно есть способ легче… да вообще другой способ
    Передо мной задача - подписка на новости, а именно

    Допустим Герасим подписался на новости 25 декабря.
    Он получает автоматическую рассылку которая растягивается на следующие 45 дней. Будет 12 писем каждое высылается на 3, 7, 12, 18, 25, 32, 38, 42, 45, 50, 55, и 60й день от дня подписки (от 25 декабря)

    Т.е получит 28го декабря, 1января … etc

    А сколько будет этих "Герасимов"?! - явно много.

    Вот как распланировать я не знаю …
    Т.е открывать "файл", для каждого юзера прописывать 12ть писем и для каждого письма дату отправки? o_O
  • AlexB

    Сообщения: 4288 Репутация: N Группа: в ухо

    Spritz 23 апреля 2008 г. 5:50, спустя 5 минут 44 секунды

    Примерно так:
    Один скрипт по крону например раз в сутки анализирует все подписки и создает очередь задач рассылки на ближайшие N часов.
    Другой скрипт по крону например раз в 5 мин, читает эту очередь, отправляет M писем и удаляет их из очереди.
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 24 апреля 2008 г. 7:30, спустя 1 день 1 час 39 минут

    offtop :

    Допустим Герасим подписался на новости 25 декабря.
    Он получает автоматическую рассылку которая растягивается на следующие 45 дней. Будет 12 писем каждое высылается на 3, 7, 12, 18, 25, 32, 38, 42, 45, 50, 55, и 60й день от дня подписки (от 25 декабря)


    Есть соображения как просчитать все 12ть писем от 25 декабря?Т.е автоматом просчитанные дни от 25 декабря запишутся в БД

    3 - 28 декабря
    7 - 1 января
    12 - 6 января

    id | day3 | day7 | day12 …

    1 | 28-12-2007 | 1-01-2008 | 6-01-2008 …

    А потом просто с помощью cron каждый день запускать скрипт и отправлять письма тем пользователям, у которых встречается день … тот же 28-12-2007
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 24 апреля 2008 г. 7:41, спустя 11 минут 4 секунды

    Хотя в принципе можно date('z') использовать -
    z Порядковый номер дня в году (нумерация с 0) От 0 до 365
  • Astro

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 18 августа 2012 г. 10:15, спустя 1577 дней 2 часа 33 минуты

    т.к. я не слышал вопроса я на него вопросом не ответил;)

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