VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
Выполнение запланированной задачи с задержкой sleep
0
надо в одной из запланированной задаче делать задержку перед функциями. Хочу воспользоваться для этого функцией sleep(). Не повлияет ли это на общий ход запланированных задач? Т.е. выполнение этой задачи может растянутся на сутки-двое, не будут ли остальные задачи ждать пока эта завершится? Вопрос вызван вот этой строкой
PHP Code:
log_cron_action('', $nextitem, 1);
судя по всему все запланированные задачи выполняются по очереди или я ошибаюсь и они идут параллельно?
надо в одной из запланированной задаче делать задержку перед функциями.
Зачем? Как правило, если появляются такие бредовые идеи, то надо усомниться в рациональности целей.
Quote:
Originally Posted by sanika
Не повлияет ли это на общий ход запланированных задач?
Повлияет на работу всего форума. Весь код выполняется в одном потоке управления. Равно как любой exit в любом модуле или ином месте форума оборвет все, так же и тут.
Quote:
Originally Posted by sanika
судя по всему все запланированные задачи выполняются по очереди или я ошибаюсь и они идут параллельно?
Крон Воблы - это не настоящий крон. Крон Воблы и крон сервера - это разные вещи. Соответственно, если мы имеем дело с shared площадкой, то ни о каких сутках-двое и речи быть не может ни в том, ни в другом случае.
@sanika
Продвинутый
Join Date: Mar 2011
Posts: 309
Версия vB: 3.8.6
Reputation:
Опытный 96
Репутация в разделе: 96
0
Quote:
Originally Posted by Sellrion
Зачем? Как правило, если появляются такие бредовые идеи, то надо усомниться в рациональности целей.
Надо сверять данные с другим сайтом, но на нем антиДДОС защита и чтоб ее "не тревожить" решили делать задержку. Значит, в таком случае, на крон воблы не надо цеплять. Лучше воспользоваться кроном сервера. Верно?
Sellrion
Kernel panic
Join Date: Aug 2007
Location: Екатеринбург
Posts: 2,536
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 1920
Репутация в разделе: 793
1
Не. Смотрите. sleep() - это не то, что вы думаете. Вы думаете, что вот встретил PHP ваш sleep() и на два дня забыл про скрипт. А потом через пару дней такой вдруг хопа! - понял что время истекло и начал его выполнять. При выполнении sleep() процессор в цикле выполняет одну или несколько команд (в зависимости от архитектуры). Это для вас sleep() - задержка, потому что управление не передается дальше по коду. А для сервера это непрерывное двухдневное выполнение вашего скрипта. Поэтому это бред полный со sleep() на сутки-двое в любом случае.
Зачем вам вообще задержка? Поставьте на крон просто скрипт без всяких задержек. Он периодически будет отрабатывать и сверять ваши данные.
Quote:
Originally Posted by sanika
но на нем антиДДОС защита и чтоб ее "не тревожить" решили делать задержку.
антиДДОС настолько суров там, что банит по IP за обращение раз в сутки? Чет не очень верится.)
@sanika
Продвинутый
Join Date: Mar 2011
Posts: 309
Версия vB: 3.8.6
Reputation:
Опытный 96
Репутация в разделе: 96
0
Quote:
Originally Posted by Sellrion
антиДДОС настолько суров там, что банит по IP за обращение раз в сутки? Чет не очень верится.)
Много обращений за 1 раз.
Я понял, от sleep придется отказаться, лучше выполнять скрипт кроном каждых 10 минут "со сдвигом данных". Спасибо большое!
Smalesh
В Черном списке
Join Date: Oct 2006
Награды в конкурсах:
Posts: 3,055
Версия vB: 3.8.7
Пол:
Reputation:
Мастер 3981
Репутация в разделе: 1320
1
Quote:
Originally Posted by sanika
лучше выполнять скрипт кроном каждых 10 минут "со сдвигом данных".
А это единственно условно правильный вариант. Самым правильным будет связаться с админом того сайта - иногда даже можно выпросить api.
Не. Смотрите. sleep() - это не то, что вы думаете. Вы думаете, что вот встретил PHP ваш sleep() и на два дня забыл про скрипт. А потом через пару дней такой вдруг хопа! - понял что время истекло и начал его выполнять. При выполнении sleep() процессор в цикле выполняет одну или несколько команд (в зависимости от архитектуры). Это для вас sleep() - задержка, потому что управление не передается дальше по коду. А для сервера это непрерывное двухдневное выполнение вашего скрипта. Поэтому это бред полный со sleep() на сутки-двое в любом случае.
Тут я должен поспорить.
Разве не должен вызов sleep() привести, в конце концов, к вызову той или иной функции ОС, которая обеспечивает перевод потока в эффективный ждущий режим?
К вызову одной из функций семейства Wait*, или даже к одноимённой функции - sleep?
Соответственно, поток на время ожидания будет отключён от процессора и не будет вызывать выполнение каких-либо команд.
Но я, естественно, согласен, что предложенная ТСом модель -- ужас с точки зрения архитектуры, и грозит другими неприятными последствиями.