Проблемы с повторяющимися задачами

Все вопросы/проблемы по установке и использовании.
dilon
Спонсор
Спонсор
Сообщения: 236
Зарегистрирован: 31 мар 2018, 23:43
Имя: Алексей
Откуда: Саратов

Проблемы с повторяющимися задачами

Сообщение dilon »

Неделю мучился самостоятельно. Думал, что сам делаю что-то не так. Но видимо дело не в этом.
Итак проблемы.

1. Первую причину почему повторяющиеся задачи не работают в принципе я устранил сам. Здесь
http://blog.rukovoditel.net/ru/kak-zapu ... niju-cron/
вы пишете
найдите следующую строку: chdir('../');
Замените ее на:chdir('/home/yourlogin/public_html/pm/');
Так вот тоже самое надо сделать и для /cron/recurring_tasks.php
Напишите это пожалуйста в мануал. Думаю многие, у кого также настроен хостинг, на этом будут спотыкаться.

2. Ну а дальнейшие причины проблем с повторяющими задачами я найти не могу.
Имеем. Сущность, назовем Проект. Подсущность - Задача. Создал 1 повторяющуюся задачу для сущности. Ежедневно 1. в .00.00. - все работает хорошо.
Создал десять повторяющихся задач для подсущности Задачи. Тут все плохо.
Ежедневно создается только 1 задача из 10.

Причем создается задача с такими характеристика
Ежемесячно
Интервал: 6
Время повторения: 00:00
Повторять от: 08/12/2018
Повторять до: ∞
Повторений: ∞

Но почему она создается ежедневно? Если она ежемесячная и интервал 6. Насколько я понимаю она должна создаваться раз в 6 месяцев. И вообще в настройках стоит Повторять от: 08/12/2018 Т.е. от 8 декабря этого года.

Есть уточнение. Эта задача стоит первая (#) в списке Дополнение/Инструменты/Повторяющиеся задачи

В списке Дополнение/Инструменты/Повторяющиеся задачи
есть задача.
Ежедневно Интервал: 1
Время повторения: 00:00
Повторять от: 27/09/2018
Повторять до: ∞
Повторений: ∞

Эта задача не создалась никогда.

В списке есть еще 8 задача с разными периодами. Они тоже никогда не создались.

Мои мысли, предположение, наблюдения, почему все так некорректно работает
1) Возможно для подсущностей повторяющиеся задачи не тестировались. А там есть нюансы.
2) Возможно в коде есть баг, согласно которому для каждой сущности/подсущности прогрмма выполняет за раз только одно повторение. Если за один момент согласно настройкам должно создаться несколько задач, то создается только одна.
Тестировалась ли ситуация, что в 00.00 должно создаться несколько разных повторяющихся задач?
3) Почему то код очень любит повторяющуюся задачу с номером (#) один в списке Дополнение/Инструменты/Повторяющиеся задачи. И несмотря на то, что она должна быть создана раз в полгода, создает ее ежедневно.
Аватара пользователя
support
Техническая поддержка
Сообщения: 9228
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Проблемы с повторяющимися задачами

Сообщение support »

Тестировались задачи для разных сущностей и с разными интервалами. Причина может быть в том, как ваш сервер определяет даты. Нужно разбираться. Сделайте следующее.

1) замените прикрепленный файл в plugins\ext\classes\recurring_tasks.php
2) в папке /cron переименуйте файл .htaccess что даст возможность выполнить /cron/recurring_tasks.php вручную набрав путь в строке браузера.

Далее давайте протестируем. Создайте ежедневную повторяющуюся задачу:
Интервал: 1
Время повторения: (текущее час на сервере)
Повторять от: (вчерашний день, тоесть сегодня задача должна повторится)

Затем откройте страницу /cron/recurring_tasks.php и пришлите скрин что там вывелось. Проверьте сработало ли повторение.

Если сработало, тогда создайте еще одно такое же повторение и проверьте еще раз создаются ли два за раз.
Вложения
recurring_tasks.php
(9.44 КБ) 185 скачиваний
dilon
Спонсор
Спонсор
Сообщения: 236
Зарегистрирован: 31 мар 2018, 23:43
Имя: Алексей
Откуда: Саратов

Re: Проблемы с повторяющимися задачами

Сообщение dilon »

Сделал так. выхлоп

выберите * из app_ext_recurring_tasks, где is_active = 1 и repeat_time = 19 и repeat_start <1538251200 и (repeat_end> = 1538251200 или repeat_end = 0) порядок по id
массив
(
[id] => 12
[created_by] => 1
[date_added] => 1537948313
[entities_id] => 22
[items_id] => 1433
[is_active] => 1
[repeat_type] => ежедневно
[repeat_interval] => 1
[repeat_days] =>
[repeat_start] => 1538164800
[repeat_end] => 0
[repeat_limit] => 0
[repeat_time] => 19
)
массив
(
[дата] => 1538251200
[день] => 7
[час] => 19
)

is_repeat: 1

Получилось тоже самое
Эта задача, с характеристиками
Интервал: 1
Время повторения: 19:00
Повторять от: 29/09/2018
Повторять до: ∞
Повторений: ∞

имеющая номер 12 в списке Дополнение/Инструменты/Повторяющиеся задачи не выполнилась.
=========
Зато вместо нее создалась задача с номером 1 с характеристиками
Ежемесячно
Интервал: 6
Время повторения: 00:00
Повторять от: 08/12/2018
Повторять до: ∞
Повторений: ∞
dilon
Спонсор
Спонсор
Сообщения: 236
Зарегистрирован: 31 мар 2018, 23:43
Имя: Алексей
Откуда: Саратов

Re: Проблемы с повторяющимися задачами

Сообщение dilon »

кстати хостинг позволяет запускать задачи из cp-panel
и пишет выхлоп. Только по англ.
верну назад файл .htaccess

select * from app_ext_recurring_tasks where is_active=1 and repeat_time=19 and repeat_start<1538251200 and (repeat_end>=1538251200 or repeat_end=0) order by id<pre>Array
(
[id] => 12
[created_by] => 1
[date_added] => 1537948313
[entities_id] => 22
[items_id] => 1433
[is_active] => 1
[repeat_type] => daily
[repeat_interval] => 1
[repeat_days] =>
[repeat_start] => 1538164800
[repeat_end] => 0
[repeat_limit] => 0
[repeat_time] => 19
)
Array
(
[date] => 1538251200
[day] => 7
[hour] => 19
)
<br>is_repeat: 1
Аватара пользователя
support
Техническая поддержка
Сообщения: 9228
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Проблемы с повторяющимися задачами

Сообщение support »

Логи показывать что должна выполнится задача с
[repeat_type] => daily
[repeat_interval] => 1

Может у вас два повторения на одну задачу стоит?
dilon
Спонсор
Спонсор
Сообщения: 236
Зарегистрирован: 31 мар 2018, 23:43
Имя: Алексей
Откуда: Саратов

Re: Проблемы с повторяющимися задачами

Сообщение dilon »

Нет.
Есть одна задача, с характеристиками
Интервал: 1
Время повторения: 19:00
Повторять от: 29/09/2018
Повторять до: ∞
Повторений: ∞

имеющая номер 12 в списке Дополнение/Инструменты/Повторяющиеся

И эта задача не выполнилась.

Зато вместо нее настойчиво выполняется задача с номером 1
с характеристиками
Ежемесячно
Интервал: 6
Время повторения: 00:00
Повторять от: 08/12/2018
Повторять до: ∞
Повторений: ∞
dilon
Спонсор
Спонсор
Сообщения: 236
Зарегистрирован: 31 мар 2018, 23:43
Имя: Алексей
Откуда: Саратов

Re: Проблемы с повторяющимися задачами

Сообщение dilon »

Кажется конкретизировалась проблема.

есть другая сущность. у этой подсущности есть 2 повторяющиеся задачи.
с номером 11.
Ежедневно
Интервал: 1
Время повторения: 00:00
Повторять от: 26/09/2018
Повторять до: ∞
Повторений: ∞

с номером 13
Ежедневно
Интервал: 1
Время повторения: 10:00
Повторять от: 30/09/2018
Повторять до: ∞
Повторений: ∞

Запускаю сейчас (в 10 часов) крон. И я понял что происходит. Происходит что задача создается именно 13-я. Как и должно быть. НО. В эту 13ю задачу попадают установленные значения полей от 11ой задачи. А те поля, которые не установлены в 11-й - те беруться из 13ой.

Тоже самое и вчера было. Создавалась именно 12я задача. Как и положено. Но почему то поля, которые установлены "Установите значения полей" в 1ой задаче, записывались в созданную 12ю задачу. И поскольку я для первой задачи установил поля название, ответственный, срока (все ключевые характеристики) то я и подумал что создалась 1-я задача.

====

Но сейчас выявил и еще одно важное наблюдение. У вчерашней задачи номер 12 появляются установленные поля не только от первой задачи, но и от 4й . Причем так. У первой задачи установлены значения полей название, ответственный, срок. Они вписались в повторяющуюся задачу 12.
Но у первой задачи не установлено значение поля "описание".
Зато значение поле "описание" есть у четвертой задачи. Вот оно тоже вписалось в 12ю.

====

Надеюсь я понятно объяснил. Создается задача правильно. Та, которая должна создаваться. Но установленные значения полей берутся из других повторяющихся задач этой же сущности. Причем чаще от повторяющихся задач первых по списку.
Аватара пользователя
support
Техническая поддержка
Сообщения: 9228
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Проблемы с повторяющимися задачами

Сообщение support »

Нашел проблему. Замените прикрепленный файл в plugins\ext\classes\
Сообщите результат.
Вложения
recurring_tasks.php
(9.5 КБ) 184 скачивания
dilon
Спонсор
Спонсор
Сообщения: 236
Зарегистрирован: 31 мар 2018, 23:43
Имя: Алексей
Откуда: Саратов

Re: Проблемы с повторяющимися задачами

Сообщение dilon »

Сделал. При первом приближении теперь все ок.
Я еще внимательнее сегодня посмотрю, потестирую.

Я что же теперь первопроходец ? :D Никто до меня это не проблему не заметил.
dilon
Спонсор
Спонсор
Сообщения: 236
Зарегистрирован: 31 мар 2018, 23:43
Имя: Алексей
Откуда: Саратов

Re: Проблемы с повторяющимися задачами

Сообщение dilon »

Потестировал. Проблем больше не обнаружил.
Спасибо за оперативное решение вопроса.

Напоминаю, что в мануал пользователям нужно написать, что для некоторых хостингов, это
найдите следующую строку: chdir('../');
Замените ее на:chdir('/home/yourlogin/public_html/pm/');
надо сделать для /cron/recurring_tasks.php
Ответить