Jump to content
Sign in to follow this  
chemark23

Запуск скрипта с периодом

Recommended Posts

Всем привет! Прошу Вашей помощи. Мне необходимо обращаться к удаленному серверу несколько раз в течение какого-то времени, до тех пор пока одна из возвращаемых переменных не будет равна значению по условию. Всё это должно делаться в фоновом режиме, поэтому никакие ajax тут не прокатят.

Долго искал ответ на свой вопрос. Многие пишут используй cron и cli. Но можно ли всё это автоматизировать до такого момента, чтобы человеку не нужно было лезть в cPanel и ручками прописывать в самом планировщике путь к крон файлу?

У кого есть идеи, как можно это решить, поделитесь пожалуйста.

Share this post


Link to post
Share on other sites

в теории, можно реализовать что-то вроде своего планировщика заданий (или поискать готовый. Мож он уже есть:)).

Смысл в том, что на крон вешается запуск акшона каждый час.

Акшон проверяет, если задачи на текущее время и выполняет, если есть.

Т е единожды добавив задание в крон, можно управлять заданиями из админки.

Некоторые CMS используют этот подход.

Share this post


Link to post
Share on other sites
19 минут назад, TeslaFeo сказал:

Смысл в том, что на крон вешается запуск акшона каждый час.

А теперь читаем

 

 

45 минут назад, chemark23 сказал:

Но можно ли всё это автоматизировать до такого момента, чтобы человеку не нужно было лезть в cPanel и ручками прописывать в самом планировщике путь к крон файлу?



Можно.. сделать псевдо крон

1. проверяем наличие и работу "крона"
2. Крон вызывается ЛЮБЫМ процессом..

Т.е.

Сторонний процесс
  Проверка и Взведение флага
  Проверка последней даты
  Выполнение процсса
  Спустить флаг

Сторонний процесс
  Проверка и Взведение флага  - Если взведен - покинуть
  Проверка последней даты - Если не дата - покинуть
  Выполнение процесса
  Спустить флаг
 

 

Кто может быть инициатором процесса

Любой процесс
Специально обученный


Например - посещение главной, или страницы контактов (Если процесс длительный - то ответ может затянуться)
Или аякс запрос с той же главной - запустили а ждать ответа необязательно

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

 

Share this post


Link to post
Share on other sites
39 минут назад, chukcha сказал:

А теперь читаем

запущенный акшон может удалять себя из таблицы заданий при определенном условии.

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

Share this post


Link to post
Share on other sites
23 минуты назад, TeslaFeo сказал:

запущенный акшон может удалять себя из таблицы заданий при определенном условии.

причем здесь это?

Я бы на месте хостера 100% запретил бы процессу httpd crontab -e

Share this post


Link to post
Share on other sites
2 минуты назад, chukcha сказал:

Я бы на месте хостера 100% запретил бы процессу httpd crontab -e

этого не нужно делать. Достаточно запустить нужный контроллер.

и не обязательно разрешать запуск абсолютно любого акшона, а предоставить выбор из тех, которые для этого предназначены (и написаны специально для этого).

Share this post


Link to post
Share on other sites

Не используя CRON

 

Share this post


Link to post
Share on other sites

Всем спасибо, задача не такая уж простая оказалась

Share this post


Link to post
Share on other sites

Если можно использовать сторонний сервис, попробуйте триггеры Google App Script - это аналог cron.
Триггеры можно создавать и через UI и скриптами ( Java Script)
В принципе можно сделать интерфейс, например в виде  таблиц или Google Form.
Лимиты на бесплатном аккаунте вполне приличные.

Edited by Pirks

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.