Как стать автором
Обновить
49
0
Павел Болдин @davinchi

Пользователь

Отправить сообщение

Медленные и/или ресурсоёмкие задачи в коде: отложенные задания, очереди, задачи с ручной обработкой

Время на прочтение2 мин
Количество просмотров4.3K
Публикую по просьбе eugenioz.

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

Общим подходом здесь является создание очередей выполнение и отложенных заданий. Основные примеры: пересылка/верификация данных у сторонних сайтов; передача данных от реселлерской панели на основной сайт; передача заданий, которые не могут быть выполнены автоматически, на ручную обработку.

В качестве средства распределения задач предлагаю вашему вниманию PHP-класс Tasks.

Код класса
Читать дальше →
Всего голосов 30: ↑17 и ↓13+4
Комментарии96

Ловля бага #52001 в PHP 5.3: указатели и неициализированные переменные

Время на прочтение2 мин
Количество просмотров1.1K
По следам недавно найденного tvv'ом бага.

При выполнении следующего кода в PHP версий 5.3.0-5.3.2 результат превосходил все ожидания.

<?php
f(0, $$var);
$x = 1;
$y = 2;
echo $x;
function f($a, $b) {};


В результате выводилось '2'. Мне удалось найти багу и поправить её: #52001. Коротко: затирался указатель на специльную переменную-затычку для неинициализированных переменных, через которую и создаются все CV переменные в PHP.

Читать дальше →
Всего голосов 168: ↑157 и ↓11+146
Комментарии52

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность