Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

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

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

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

Надіслати
Поділитися на інших сайтах


Можно, но ненадежно

Из закладок есть такое https://habr.com/post/132609/

Но я бы сделал через сторонний сервис https://www.easycron.com/ или аналог

Змінено користувачем wbDev
Надіслати
Поділитися на інших сайтах


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

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

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

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

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

Надіслати
Поділитися на інших сайтах

19 минут назад, TeslaFeo сказал:

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

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

 

 

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

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



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

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

Т.е.

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

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

 

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

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


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

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

 

Надіслати
Поділитися на інших сайтах

39 минут назад, chukcha сказал:

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

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

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

Надіслати
Поділитися на інших сайтах

23 минуты назад, TeslaFeo сказал:

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

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

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

Надіслати
Поділитися на інших сайтах

2 минуты назад, chukcha сказал:

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

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

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

Надіслати
Поділитися на інших сайтах

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

Змінено користувачем Pirks
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.