Очень глючат подписки, как исправить ?

#31 22 ноября 2019 в 21:21

Это очень вероятно, но потом я обновил до версии InstantCMS 2.10.1, а первую зависшую рассылку подписок заметил только в августе 2018

dimbons
Ну тогда это поиски кота в темном лесу… ночью.
-----
Попробуйте еще таблицы пересмотреть
-----

  1.  
  2. CREATE TABLE `cms_scheduler_tasks` (
  3. `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  4. `title` VARCHAR(250) DEFAULT NULL,
  5. `controller` VARCHAR(32) DEFAULT NULL,
  6. `hook` VARCHAR(32) DEFAULT NULL,
  7. `period` INT(11) UNSIGNED DEFAULT NULL,
  8. `is_strict_period` tinyint(1) UNSIGNED DEFAULT NULL,
  9. `date_last_run` TIMESTAMP NULL DEFAULT NULL,
  10. `is_active` tinyint(1) UNSIGNED DEFAULT NULL,
  11. `is_new` tinyint(1) UNSIGNED DEFAULT '1',
  12. PRIMARY KEY (`id`),
  13. KEY `period` (`period`),
  14. KEY `date_last_run` (`date_last_run`),
  15. KEY `is_active` (`is_active`)
  16. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Задачи планировщика';
  17.  

  1.  
  2. CREATE TABLE `cms_scheduler_tasks` (
  3. `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  4. `title` VARCHAR(250) DEFAULT NULL,
  5. `controller` VARCHAR(32) DEFAULT NULL,
  6. `hook` VARCHAR(32) DEFAULT NULL,
  7. `period` INT(11) UNSIGNED DEFAULT NULL,
  8. `is_strict_period` tinyint(1) UNSIGNED DEFAULT NULL,
  9. `date_last_run` TIMESTAMP NULL DEFAULT NULL,
  10. `is_active` tinyint(1) UNSIGNED DEFAULT NULL,
  11. `is_new` tinyint(1) UNSIGNED DEFAULT '1',
  12. `consistent_run` tinyint(1) UNSIGNED DEFAULT NULL,
  13. PRIMARY KEY (`id`),
  14. KEY `period` (`period`),
  15. KEY `date_last_run` (`date_last_run`),
  16. KEY `is_active` (`is_active`)
  17. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Задачи планировщика';
  18.  
----
`consistent_run` tinyint(1) UNSIGNED DEFAULT NULL,
#32 22 ноября 2019 в 21:54
жалко, что работоспособность Подписок зависит от настройки хостинга. нужно одно, упростить Подписки до уровня детского сада, чтоб не ломать голову где там неправильно или правильно настроен крон, почта и т.д. это как например купил смартфон самсунг и не паришься, все работает сразу. а какой нибудь китац сяоми с глючным интерфейсом все самому настраивать, искать нужную прошивку… и в итоге выкинишь его
#33 22 ноября 2019 в 22:05

это как например купил смартфон самсунг и не паришься

ignat
Неверное сравнение. Телефон — самодостаточное устройство. А для CMS нужно лишь настроить согласно документации. А если вы используете почту, для которой ничего не настроено ни в dns ни в целом по стандарту, что вы ожидаете, что CMS сама вам это настроит? Так не бывает. Нигде, ни в одной CMS.
#34 22 ноября 2019 в 22:12

сяоми с глючным интерфейсом все самому настраивать, искать нужную прошивку… и в итоге выкинишь его

ignat
А вы не покупайте Сяоми с рук и все будет хорошо… smile
#35 22 ноября 2019 в 22:15
vikont, извиняюсь, если обидел владельцев Сяоми)
#36 23 ноября 2019 в 00:41
Не переходит с форума по ссылкам site.ru/Режимы_работы_интерпретатора_PHP. Я плохо понимаю в php, скриптах (вообще ничего), Предложение дружбы работает через планировщик и Подписки через планировщик? Почему предложение о дружбе приходит моментально, а подписки висят минуту (ограничения через php ?), при wget вроде быстрее (настройки php.ini на VPS ?). Тестировал без нагрузки на сайт, с балды создавал 23 записи, приходило на почту примерно за 5 минут. По идее командами можно ускорить отправку сообщений без лишних действий, в wget2 пишут про увеличение производительности. При чем через php7.1 не на премиум-хостинге до 9 30 утра задания ушли моментально… + PHP как модуль Apache — это зло, PHP как FastCGI меньшее зло?
#37 23 ноября 2019 в 13:55
Лимит на отправку писем может быть достигнут уведомлениями на почту с помощью Профиль — Уведомления. Через SMTP лимит может быть больше.
Нужно менять рассылку уведомлений: на сайте уведомлять, на почту ~

Пришло 5 уведомлений — отправляем сразу, за день пришло одно уведомление — отправляем его.

Ris
profyclub.ru/docs/297
Сколько писем можно отправлять с бесплатных (SMTP) почтовых ящиков?
Цифры такие:

mail.ru — не более 1 письма в минуту
yandex.ru — не более 150 писем в сутки, не более 25 адресатов в одном письме
gmail.com, tut.by — не более 500 писем в сутки (хотя в справке гугла фигурирует 2000), не более 500 получателей в одном письме за раз при отправке через интерфейс gmail.com (через web-интерфейс, т.е. при входе через браузер), не более 100 получателей в одном письме за раз при отправке через ваш почтовый клиент
rambler.ru — не более 200 писем в час
ukr.net — не более 250 писем в сутки
meta.ua — не более 200 писем в сутки
aol.com — не более 500 писем в сутки
lycos.com — не более 250 писем в сутки
Рекомендую отправлять количества писем на 20-30 % меньше лимита.

Gmail может заблокировать (первый раз на сутки) ваш аккаунт и при меньшем чем 500 числе адресатов в письме. Очень важно, чтобы адреса были живые, работающие. При нескольких десятках мертвых адресов в одном письме c gmail вероятность блокировки очень велика.
#38 23 ноября 2019 в 14:34

Я плохо понимаю в php, скриптах (вообще ничего)

@noname
Воздержитесь тогда от плохих советов. А советы ваши плохие, пальцем в небо, лишь бы написать. Вводят людей в заблуждение.

Почему предложение о дружбе приходит моментально, а подписки висят минуту

@noname
Потому что предложение о дружбе приходит в уведомления CMS, что по сути равно записи в таблицу бд. Подписки и другая очередь, например отправки email, работает как… очередь. Это означает, что CMS формирует очередь, т.е. набор записей в таблице базы данных. Задача планировщика раз в минуту (а по факту раз в N минут, в зависимости как настроена команда для CRON) смотрит эту очередь и выполняет каждую последовательно.

при wget вроде быстрее

@noname
Какие тут могут быть wget. Вы зачем через wget делаете, если по умолчанию такой рекомендации нет.

PHP как модуль Apache — это зло, PHP как FastCGI меньшее зло ?

@noname
Ну тихий ужас, какая каша у вас на плечах.

Сколько писем можно отправлять с бесплатных (SMTP) почтовых ящиков?

@noname
Ну наконец-то пришло понимание.
#39 23 ноября 2019 в 14:39

Вводят людей в заблуждение.

Fuze
Недостаточное описание как работают уведомления и рассылка на емейл.

Какие тут могут быть wget. Вы зачем через wget делаете, если по умолчанию такой рекомендации нет.

Fuze
Обращаем ваше внимание, что формирование команды другого типа, например:

wget www.site.ru/cron.php
по умолчанию работать не будет. Также не будет работать, если вы соберетесь пользоваться онлайн планировщиками, типа cronjob.ru/ и подобными.

Если же по каким-то причинам вам необходимо запускать планировщик подобными способами, то нужно открыть файл cron.php, который находится в корне сайта, и удалить (или закомментировать) строку:

if(PHP_SAPI != 'cli') { die('Access denied'); }
Однако, при таком способе следует понимать, что для PHP CLI по-умолчанию нет лимитов на время выполнения скрипта и все «долгие» задачи планировщика успеют выполниться. В случае если вы закомментируете указанную выше строку и команда для CRON у вас будет другая, то вы должны сами следить за лимитами в конфигурации PHP. За это отвечают директивы max_execution_time и max_input_time.
По вашей команде создается куча файлов в корне .

Если знаете как — помогите пользователям Вашей cms, не нужно издеваться, большинство владельцев сайтов разбежалось и разработчики не в восторге. Скотское отношение никогда не было полезным.

PS потестируйте подписки при 1000-5000 пользователей на сайте, потом излагайте. Включите отладку на демо сайте — там будут ошибки.
#40 23 ноября 2019 в 15:02

По вашей команде создается куча файлов в корне

@noname
Нет. Это по вашей команде это делается.

Из документации

@noname
И?

Если знаете как — помогите пользователям Вашей cms, не нужно издеваться, большинство владельцев сайтов разбежалось и разработчики не в восторге. Скотское отношение никогда не было полезным.

@noname
Я по вашему чем занимаюсь? Какое скотское отношение? Смешно это читать от главного флудера, которого удаляешь, удаляешь, модерируешь его посты, а он всё равно заново регистрируется.

потестируйте подписки при 1000-5000 пользователей на сайте, потом излагайте

@noname
Я тестировал и подписки и очередь в целом при загрузке очереди около полумиллиона записей. Рассылка email с 100К адресатов занимала около 6 часов. Очередь на то и очередь, что задания из неё выполняются последовательно и постепенно, а не моментально.
Решается всё просто. Нормальный сервер почты. Задача cron раз в минуту. И всё работает.

Кроме того, я допускаю, что может быть проблема с очередью в CMS. Для решения я спрашиваю, задаю наводящие вопросы, как повторить. Все молчат. А скотское отношение у меня. Ну да.
#41 23 ноября 2019 в 15:04

Потому что предложение о дружбе приходит в уведомления CMS, что по сути равно записи в таблицу бд. Подписки и другая очередь, например отправки email, работает как… очередь. Это означает, что CMS формирует очередь, т.е. набор записей в таблице базы данных. Задача планировщика раз в минуту (а по факту раз в N минут, в зависимости как настроена команда для CRON) смотрит эту очередь и выполняет каждую последовательно.

Fuze

Я тестировал и подписки и очередь в целом при загрузке очереди около полумиллиона записей. Рассылка email с 100К адресатов занимала около 6 часов. Очередь на то и очередь, что задания из неё выполняются последовательно и постепенно, а не моментально.
Решается всё просто. Нормальный сервер почты. Задача cron раз в минуту. И всё работает.

Fuze
Написали бы так сразу — было бы меньше претензий. Я не спамер — я Ваша карма. Можете меня удалить если ответите на вопрос, что появилось раньше яйцо или курица или вселенная конечна или безконечна laughМожет мы живем в матрице вообще, вот и юзеры примерно задаются такими вопросами. Вы же неплохой человек, просто нужно помягче к людям.
#42 23 ноября 2019 в 15:29

Я не спамер — я Ваша карма.

@noname
У меня есть своё видение кто вы, да промолчу.

безконечна

@noname
кАнечнА беЗконечна

Можете меня удалить

@noname
Ваше разрешение для этого не требуется. Удаление потеряло смысл, поэтому поступаем как индейцы.
#43 23 ноября 2019 в 15:30

кАнечнА беЗконечна

Fuze
Вы не можете это доказать.
#44 23 ноября 2019 в 15:33

Вы не можете это доказать.

@noname
Я уже доказал, но вы не заметили.
#45 23 ноября 2019 в 15:42

Потому что предложение о дружбе приходит в уведомления CMS, что по сути равно записи в таблицу бд. Подписки и другая очередь, например отправки email, работает как… очередь.

Fuze
Если стоит уведомление "На сайте и на емейл", то на емейл приходит моментально и на сайте тоже быстро. В подписках работает через очередь? На хостинге через перенаправление почты и через SMTP приходят моментально на емаил, подписки на емейл отправляются дольше.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.