Страница 1 из 2

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

Добавлено: 29 сен 2018, 11:36
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) Почему то код очень любит повторяющуюся задачу с номером (#) один в списке Дополнение/Инструменты/Повторяющиеся задачи. И несмотря на то, что она должна быть создана раз в полгода, создает ее ежедневно.

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

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

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

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

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

Если сработало, тогда создайте еще одно такое же повторение и проверьте еще раз создаются ли два за раз.

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

Добавлено: 30 сен 2018, 18:38
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
Повторять до: ∞
Повторений: ∞

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

Добавлено: 30 сен 2018, 18:41
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

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

Добавлено: 30 сен 2018, 22:08
support
Логи показывать что должна выполнится задача с
[repeat_type] => daily
[repeat_interval] => 1

Может у вас два повторения на одну задачу стоит?

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

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

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

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

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

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

Добавлено: 01 окт 2018, 09:57
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ю.

====

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

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

Добавлено: 01 окт 2018, 10:34
support
Нашел проблему. Замените прикрепленный файл в plugins\ext\classes\
Сообщите результат.

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

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

Я что же теперь первопроходец ? :D Никто до меня это не проблему не заметил.

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

Добавлено: 01 окт 2018, 12:55
dilon
Потестировал. Проблем больше не обнаружил.
Спасибо за оперативное решение вопроса.

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