Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 9 Ответов
  • 497 Просмотров
*

jm

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Циклы и таймеры Joomla
« : 23.07.2020, 07:55:19 »
Стоит задача периодически (раз в секунду, минуту, час и т. д.) производить различные действия в Joomla, например, проверять и изменять значения в базе данных.

Насколько я понял, в Joomla нет нативных циклов и таймеров, которые можно было бы запустить для активации, например, раз в каждые 20 секунд.

Как решается эта проблема? Если можно, киньте ссылки на ПРАКТИЧЕСКИЕ ПРИМЕРЫ решения этой задачи. Насколько я понимаю, речь идёт об организации циклов средствами PHP.
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
Re: Циклы и таймеры Joomla
« Ответ #1 : 23.07.2020, 08:28:41 »
cron?
*

jm

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Re: Циклы и таймеры Joomla
« Ответ #2 : 23.07.2020, 08:58:56 »
Давайте сделаем упор на ПРАКТИЧЕСКИХ ПРИМЕРАХ организации 20-и секундного цикла, доступного из кода Joomla на PHP и работающего как на локальном Windows компьютере под Open Server, так и на Linux хостинге провайдера.
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Циклы и таймеры Joomla
« Ответ #3 : 23.07.2020, 09:44:08 »
Давайте сделаем упор на ПРАКТИЧЕСКИХ ПРИМЕРАХ организации 20-и секундного цикла, доступного из кода Joomla на PHP и работающего как на локальном Windows компьютере под Open Server, так и на Linux хостинге провайдера.
Написать Cli приложение, например https://stackoverflow.com/questions/31397472/joomla-3-x-how-to-schedule-a-cron
*

jm

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Re: Циклы и таймеры Joomla
« Ответ #4 : 23.07.2020, 11:53:24 »
Торопиться не надо, написать мы всегда успеем, хотелось бы узнать о готовых решениях, чтобы не тратить время на изобретение очередного велосипеда.

Неужели никому из 100 000 000 девелоперов Joomla не понадобились системные таймеры?
*

sivers

  • Живу я здесь
  • 2453
  • 333 / 0
Re: Циклы и таймеры Joomla
« Ответ #5 : 23.07.2020, 12:10:21 »
Неужели никому из 100 000 000 девелоперов Joomla не понадобились системные таймеры?
Понадобилось. Но большинство делает через cron и не заморачивается. Есть и что-то из готового. Например в Akeeba Admin Tools было что-то и даже работало. В платной версии там тот же cron, только с веб-интерфейсом акебы, а в бесплатной - псевдо крон (это когда срабатывание идет не по системным событиям, а при обращении пользователей к вашему сайту скрипт сверяется с часами). Потому как бесконечный цикл на PHP запустить не получится - сервис его обрубит по таймауту. При запуске из консоли не обрубает, но это уже не то, чего вам хочется.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

jm

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Re: Циклы и таймеры Joomla
« Ответ #6 : 23.07.2020, 12:50:46 »
Ок, ситуация становится понятнее. У меня 2 вопроса:

1. Если сайт разрабатывается под Open Server на Windows, а работать ему предстоит на хостинге под Linux, то как должно выглядеть решение на cron, чтобы всё работало и под Windows и на Linux?

2. Есть ли в сети статьи, которые можно было бы взять за основу для разработки такого решения?
*

sivers

  • Живу я здесь
  • 2453
  • 333 / 0
Re: Циклы и таймеры Joomla
« Ответ #7 : 23.07.2020, 13:07:05 »
У меня 2 вопроса:
1. Пишете пхп-скрипт, который запускается из командной строки, подключает фреймворк Joomla (по необходимости) и делает что-то нужное вам. Кажется, это и называется "Написать Cli приложение". Протестировать его можно запуском вручную из CMD (виндовс). Если очень надо по расписанию на локальном виндовом сервере сделать, то разобраться как делаются расписания в винде и добавить туда команду запуска этого скрипта. После переезда пропишете ту же команду в cron линукса.
2. Выше @b2z уже дал вам ссылку на инструкцию с примером как создавать такое cli-приложение. Если забудете как это делать, то возьмите index.php в корне сайта, скопируйте под другим именем и закоментируйте в нем последнюю строку $app->execute();. Получится кли-приложение. В нем можно будет использовать все классы Joomla и запускать в консоли командой:
Код
/usr/bin/php /путь_к_скрипту.php
Если этот скрипт у вас будет лежать не в корне сайта а в другой папке (желательно уровнем повыше, чем корень сайта, чтоб не было к нему доступа из браузеров), то придется подкорректировать базовый путь - для этого вместо __DIR__ прописать путь к корню сайта.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Re: Циклы и таймеры Joomla
« Ответ #8 : 23.07.2020, 13:54:43 »
Смотрим в папку cli установки Joomla. Там лежат такие скрипты, можно посмотреть, как они сделаны. Ну и выше я кидал ссылку. Вот ещё есть пример
https://github.com/JPathRu/cli-scripts
*

jm

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Re: Циклы и таймеры Joomla
« Ответ #9 : 23.07.2020, 16:10:39 »
Спасибо за пояснения, будем разбираться...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Что хранится в таблице overrider Joomla 3?

Автор web1

Ответов: 1
Просмотров: 81
Последний ответ 27.03.2024, 19:14:58
от web1
reCAPTCHA V2 Google - Для Joomla 3

Автор Alex GOOD

Ответов: 35
Просмотров: 8258
Последний ответ 10.01.2024, 21:41:38
от Vastriet
Joomla 3.10.12 и MySQL 8

Автор designer71

Ответов: 0
Просмотров: 371
Последний ответ 19.10.2023, 11:25:18
от designer71
Почему Joomla не поддерживает формат webp?

Автор Sensession

Ответов: 74
Просмотров: 10505
Последний ответ 03.10.2023, 19:44:42
от fsv
erid в Joomla

Автор newalex

Ответов: 0
Просмотров: 305
Последний ответ 25.09.2023, 18:45:34
от newalex