Платно PHP Crontab или планировщик задач

  1. Оффлайн
    Hafner a114team
    На проекте с:
    13 авг 2010
    Сообщения:
    2.058
    Симпатии:
    710
    Баллы:
    113
    Рассказывать, что такое cron и с чем его едят не горю желанием. Вкратце, cron - это планировщик, который позволяет запускать какие-либо задачи по вашему расписанию и с определенной периодичностью, будь то ежеминутное выполнение определенного скрипта или каждое первое число месяца в 8:00 утра, к примеру.

    Данный модуль к ACPanel позволяет организовать запуск ваших скриптов по расписанию и имеет следующие возможности:
    • работа планировщика НЕ зависит от онлайна пользователей на сайте. Задания будут выполняться по расписанию всегда.
    • не важно какая у вас система windows или linux - на всех системах планировщик будет отрабатывать.
    • кеширование информации по задачам, что позволяет не использовать базу данных постоянно, а работать только с файловой системой - это является плюсом к производительности.
    • постоянный контроль работы планировщика, даже после перезагрузки веб-сервера он продолжит работу.
    • не требуется вносить изменения в системный crontab linux'а - он не используется вообще.
    Таким образом, для php crontab вы сможете найти массу применений. В скором времени появится модуль рейтинга игровых серверов, модуль статистики серверов и игроков, где php cron будет незаменим, однако, уже в текущей версии системы бановтребуется перемещать прошедшие баны в историю. Каждый раз жать на кнопку - не вариант, а вот повесить на cron эту задачу весьма разумно.

    Как приобрести:
    • цена - $10 (для обладателей любого платного продукта - бесплатно)
    • Все заявки направлять личным сообщением в следующем формате:
      1. название продукта
      2. адрес Вашего проекта
    История изменений:
    Hafner, 24 май 2012
    #1
    patrig нравится это.
  2. Оффлайн
    AndreyD ACP мембер
    На проекте с:
    6 дек 2011
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    6
    Очень странно, что этот функционал не встроен в Систему Банов изначально, а надо покупать отдельно.
    AndreyD, 4 июн 2012
    #2
  3. Оффлайн
    Hafner a114team
    На проекте с:
    13 авг 2010
    Сообщения:
    2.058
    Симпатии:
    710
    Баллы:
    113
    Кто сказал, что его надо покупать отдельно?
    Просто нет желания выкладывать в паблик, а купивший любой модуль АСР может получить это дело бесплатно.
    Hafner, 4 июн 2012
    #3
  4. Оффлайн
    Hafner a114team
    На проекте с:
    13 авг 2010
    Сообщения:
    2.058
    Симпатии:
    710
    Баллы:
    113
    Новая фикс-версия:
    Hafner, 19 июн 2012
    #4
  5. Оффлайн
    Shura Уже не бот
    На проекте с:
    14 мар 2012
    Сообщения:
    40
    Симпатии:
    0
    Баллы:
    6
    Код:
    Файл для выполнения
    /acpanel/includes/cron/
    Такого пути нет вообще


    Shura, 21 июн 2012
    #5
  6. Оффлайн
    Hafner a114team
    На проекте с:
    13 авг 2010
    Сообщения:
    2.058
    Симпатии:
    710
    Баллы:
    113
    Значит надо создать.
    Hafner, 21 июн 2012
    #6
  7. Оффлайн
    Shura Уже не бот
    На проекте с:
    14 мар 2012
    Сообщения:
    40
    Симпатии:
    0
    Баллы:
    6
    В данный момент названия каких задач можно использовать в кроне?
    Shura, 21 июн 2012
    #7
  8. Оффлайн
    Hafner a114team
    На проекте с:
    13 авг 2010
    Сообщения:
    2.058
    Симпатии:
    710
    Баллы:
    113
    Пример перемещения прошедших банов указан в закрытом разделе. А так любой php скрипт можно повесить на крон.
    Hafner, 21 июн 2012
    #8
  9. Оффлайн
    mr.empty CS Куратор
    На проекте с:
    19 июн 2011
    Сообщения:
    385
    Симпатии:
    75
    Баллы:
    28
    Я конечно могу и ошибаться в прелестях вашего "изобретения".
    Но всё же, в чём сложность использовать самописанный код по запуску скриптов по системе крона.
    Там всего то пару строк и не надо платить 10 баксов.

    Код:
    #include <amxmodx>
    public plugin_init()
    {
    register_plugin("Имя вашего крона", "Версия", "Ваше имя") \\\ переименовать на англ, смысла не играет
    set_task(Время выполнение скрипта, "Имя задачи", Идентификатор задачи, "", 0, "Флаг задачи")
    }
    public Имя задачи() \\\ заменяем соотвественно
    {
    server_cmd("Сама задача") \\\ комманда amx
    }
    
    Ну а дальше уже всё просто.
    Выбираем нужный флаг:
    - a - Повторение задачи
    - b - Выполнение задачи бесконечно количество раз
    - c - Выполнение задачи через определенное время после старта сервера
    - d - Выполнение задачи до смены карты

    Как пример, я создавал фейковых ботов в таблице с название сайта для рекламы:

    Код:
    #include <amxmodx>
    public plugin_init()
    {
    register_plugin("Fakes by mr.empty", "1.0", "mr.empty")
    set_task(10.0, "add_fakes", 0, "", 0, "c") \\\ выполняется через 10 секунд после начала новой карты
    }
    public add_fakes()
    {
    server_cmd("amx_addfake")
    }
    

    Конечно, я повторюсь, я не знаю прелестей вашей системы, я лишь высказал свой "халявный" :) вариант.
    Это лишь простой пример выполнение команды по времени. Его можно обновлять и модернизировать бесконечное количество раз.

    Извиняюсь, если в чём-то не прав.
    mr.empty, 25 июн 2012
    #9
  10. Оффлайн
    Gr@pe Fruit a114team DEV
    На проекте с:
    13 сен 2010
    Сообщения:
    724
    Симпатии:
    312
    Баллы:
    63
    Вы наверное плохо прочитали.

    Никаким amx там и не пашет.
    Gr@pe Fruit, 25 июн 2012
    #10
  11. Оффлайн
    Gr@pe Fruit a114team DEV
    На проекте с:
    13 сен 2010
    Сообщения:
    724
    Симпатии:
    312
    Баллы:
    63
    Но раз уж на то пошло, то set_task - отложенный вызов функции. Вы можете через set_task запускать что-то в 2 часа 35 минут каждый вторник? Ну-ну.

    Спасибо. Представление о Ваших познаниях крона мы получили:)
    Gr@pe Fruit, 25 июн 2012
    #11
  12. Оффлайн
    mr.empty CS Куратор
    На проекте с:
    19 июн 2011
    Сообщения:
    385
    Симпатии:
    75
    Баллы:
    28
    "...будь то ежеминутное выполнение определенного скрипта..."
    "...я лишь высказал свой "халявный" вариант..."

    P.S. С моей точки зрения - неплохая альтернатива 10 баксам.

    Или я всё же где-то не прав?
    mr.empty, 25 июн 2012
    #12
  13. Оффлайн
    Gr@pe Fruit a114team DEV
    На проекте с:
    13 сен 2010
    Сообщения:
    724
    Симпатии:
    312
    Баллы:
    63
    К сожалению, Вы не понимаете всю суть данного модуля. В первую очередь Вы не хотите понять, что это модуль для WEB задач, а не для добавление фейков на сервер, поэтому Ваш amxx плагин выглядит "немного" неуместно.

    Все таки стоило дочитать:
    Gr@pe Fruit, 25 июн 2012
    #13
  14. Оффлайн
    mr.empty CS Куратор
    На проекте с:
    19 июн 2011
    Сообщения:
    385
    Симпатии:
    75
    Баллы:
    28
    "...Конечно, я повторюсь, я не знаю прелестей вашей системы..."

    И поразил тот факт, как вы быстро умеете делать представление о людях:
    "Представление о Ваших познаниях крона мы получили"
    Это конечно огорчает =(
    mr.empty, 25 июн 2012
    #14
  15. Оффлайн
    Gr@pe Fruit a114team DEV
    На проекте с:
    13 сен 2010
    Сообщения:
    724
    Симпатии:
    312
    Баллы:
    63
    Извините, но предложить в аналог для полноценного PHP скрипта, который работает на CURL без прописывание задачи в CRON вебсервера, плагин из 10 строчек...это просто не постижимо.

    Мне, как обладателю еще первого релиза: Limewizard Lite двухлетней давности, достался этот плагин бесплатно. Но, я за него и 10$ отдал бы без раздумий.
    Gr@pe Fruit, 25 июн 2012
    #15
  16. Оффлайн
    mr.empty CS Куратор
    На проекте с:
    19 июн 2011
    Сообщения:
    385
    Симпатии:
    75
    Баллы:
    28
    Ну раз Вы считаете, что это не постежимо - то тогда мне очень жаль.
    Простите, что попытался дать совершено простую альтернативу для бедных администраторов =)
    Ещё раз простите.
    mr.empty, 25 июн 2012
    #16
  17. Оффлайн
    Gr@pe Fruit a114team DEV
    На проекте с:
    13 сен 2010
    Сообщения:
    724
    Симпатии:
    312
    Баллы:
    63
    Теоретически Ваш плагин можно использовать как некий "тапорообразный cron". Я этого отрицать не буду. В него можно впихнуть текст служебных запросов к базе mysql.

    Но это лишняя нагрузка на сервер. Плюс есть некоторые скрипты, которые желательно выполнять ночью один раз в сутки. На уровне amxx тут уж один set_task не ограничишься. Т.е. Ваше решение - не универсально и не подойдет для более сложных задач.

    А так, идею, которую Вы привели, уже давно активно используют. Например, superban.amxx позволяет при смене карты удалять истекшие баны.
    Gr@pe Fruit, 25 июн 2012
    #17
    mr.empty нравится это.
  18. Оффлайн
    mr.empty CS Куратор
    На проекте с:
    19 июн 2011
    Сообщения:
    385
    Симпатии:
    75
    Баллы:
    28
    Ну вот уже другой разговор =)
    Ладно, может кому-нибудь и пригодится мой вариант.
    mr.empty, 25 июн 2012
    #18
  19. Оффлайн
    Hafner a114team
    На проекте с:
    13 авг 2010
    Сообщения:
    2.058
    Симпатии:
    710
    Баллы:
    113
    Обновление:
    Hafner, 24 июл 2012
    #19
    mr.empty и patrig нравится это.
  20. Оффлайн
    Hafner a114team
    На проекте с:
    13 авг 2010
    Сообщения:
    2.058
    Симпатии:
    710
    Баллы:
    113
    Update:
    Hafner, 21 окт 2012
    #20