Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Posting.php

Форум для авторов расширений для phpBB. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Vlad__
phpBB 2.0.7
Сообщения: 566
Стаж: 7 лет 4 месяца
Благодарил (а): 278 раз
Поблагодарили: 65 раз

Re: Posting.php

Сообщение Vlad__ »

И еще. Можно ли подобный функционал (закрытие тем) реализовать без крона? Например, зашел пользователь в тему или просмотрел форум, и темы все закрылись, у кого стоит дата закрытия раньше текущего времени. Повесить на событие просмотра.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Posting.php

Сообщение Татьяна5 »

Так и реализован форумный крон (только в 3.2 появилась возможность переключать на системный)
Vlad__
phpBB 2.0.7
Сообщения: 566
Стаж: 7 лет 4 месяца
Благодарил (а): 278 раз
Поблагодарили: 65 раз

Re: Posting.php

Сообщение Vlad__ »

Я думаю совсем без крона. Крон как я понимаю должен регулярно срабатывать каждые например 5 минут, шерстить все темы и закрывать требуемые. Не лишняя ли нагрузка?

Я думаю такой алгоритм: заходит любой пользователь в топик и (если есть поле и время закрытия) он в этот момент закрывается, если это время вышло. Какое событие срабатывает в момент просмотра-открытия топика?
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Posting.php

Сообщение Татьяна5 »

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

Отправлено спустя 1 минуту 6 секунд:
Vlad__ писал(а): 01.05.2018 15:43 шерстить все темы
Нет (если сами не сделаете, конечно, чтобы он просматривал именно всё)
Vlad__
phpBB 2.0.7
Сообщения: 566
Стаж: 7 лет 4 месяца
Благодарил (а): 278 раз
Поблагодарили: 65 раз

Re: Posting.php

Сообщение Vlad__ »

Татьяна5 писал(а): 01.05.2018 15:46 Нагрузка от такого будет выше, т.к. крон срабатывает время от времени и единожды, а темы смотрят постоянно и не по одному разу
Действительно, не подумал. Будем пилить крон. Где все-таки почитать посмотреть как?
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Posting.php

Сообщение Татьяна5 »

Разбирать другие расширения
(В них бывает понятней, чем в оф. документации)
Vlad__
phpBB 2.0.7
Сообщения: 566
Стаж: 7 лет 4 месяца
Благодарил (а): 278 раз
Поблагодарили: 65 раз

Re: Posting.php

Сообщение Vlad__ »

Татьяна5 писал(а): 01.05.2018 15:47 если сами не сделаете, конечно, чтобы он просматривал именно всё
Сижу теперь и думаю.
1. Например у меня 1000 тем, крон каждые пять минут просматривает их все и закрывает требуемые. Можно конечно вывести номера незакрытых в отдельную таблицу и просматривать их там, чтобы не шерстить все.
2. Вариант 2 - при открытие темы идет запрос к скажем так флагу, и если он есть - тема закрывается.
Где больше нагрузка? Даже при условии к примеру тысяч пользователей и гостей. Всего один запрос плюсом к идущим и так при загрузке темы. Неужели так увеличится загрузка?
Хочется выслушать мнение.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Posting.php

Сообщение Татьяна5 »

Vlad__ писал(а): 01.05.2018 20:13 просматривает их все
Крон - не человек, он ничего не просматривает
Одна выборка из БД в 5 минут это намного лучше, чем одна выборка при каждом открытии темы каждым пользователем
Vlad__
phpBB 2.0.7
Сообщения: 566
Стаж: 7 лет 4 месяца
Благодарил (а): 278 раз
Поблагодарили: 65 раз

Re: Posting.php

Сообщение Vlad__ »

Я правильно понял задание крона выполняется когда кто-то что-то сделал на форуме?

Отправлено спустя 4 минуты 54 секунды:
И где в настройках форумный крон или системный и в чем их плюс-минус?
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Posting.php

Сообщение Татьяна5 »

Форумный запускается если на форуме кто-нибудь есть (кто-то открыл любую страницу), а системный даёт большую точность по времени, но он не везде доступен
Vlad__
phpBB 2.0.7
Сообщения: 566
Стаж: 7 лет 4 месяца
Благодарил (а): 278 раз
Поблагодарили: 65 раз

Re: Posting.php

Сообщение Vlad__ »

Татьяна5 писал(а): 01.05.2018 22:11 но он не везде доступен
Где в настройках он включается? 3.2
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Posting.php

Сообщение Татьяна5 »

"Настройки сервера" (форумный там отключается, а системный настраивается на сервере)
Vlad__
phpBB 2.0.7
Сообщения: 566
Стаж: 7 лет 4 месяца
Благодарил (а): 278 раз
Поблагодарили: 65 раз

Re: Posting.php

Сообщение Vlad__ »

И наверное последний вопрос в этой теме, т.к. я уже на финишной прямой ))
Какими командами выбрать все темы форума, чтобы проверить есть ли у каждой флаг или нет? Если флаг есть передать topic_id для дальнейших действий.
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: Posting.php

Сообщение Татьяна5 »

Все темы выбирать как раз не надо, выбирайте сразу которые с флагом (и незакрытые при этом). Через SELECT
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 41 раз
Поблагодарили: 1716 раз

Re: Posting.php

Сообщение Sheer »

Vlad__ писал(а): 01.05.2018 22:27 есть ли у каждой флаг
Какой?

Код: Выделить всё

SELECT topic_id FROM ' . TOPICS_TABLE . ' WHERE какой-то_флаг = что-то(вероятно 1)';
Отправлено спустя 40 секунд:
https://dev.mysql.com/doc/refman/8.0/en/select.html
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Вернуться в «Для разработчиков»