Организация очередей на PHP
Решили использовать Pheanstalk, который представляет собой PHP-клиента для Beanstalk. Простой, чётко работает, всё построено на иерархии исключений, т.е. легко применять. Всё сводится к следующему:
1 2 3 4 |
$this->queueManager = new Pheanstalk( '127.0.0.1' ); $this->queueManager->useTube('my_jobs_1')->put( $JobData ); $this->job = $this->queueManager->watch('my_jobs_1')->ignore('default')->reserve( 0 ); // 0 - чтобы не ждать, когда появятся новые джобы (чтобы запускать php-скрипт кроном, а не требовать висения в памяти демоном) $this->queueManager->delete( $this->job ); |
Для работы должен быть запущен демон Beanstalk:
1 |
$ beanstalkd -d |
Ещё почитать. Интересный пример использования Pheanstalk, менее интересный пример.
Аналог ON DUPLICATE KEY UPDATE SQL Server
Есть таблица для записи статистики за день
1 2 3 4 5 |
CREATE TABLE mailStats ( dt DATE NOT NULL CONSTRAINT PK_mailStats PRIMARY KEY, total INT NOT NULL, failed INT NOT NULL, ); |
Нужно записать в неё общее количество действий и количество фэйлов скриптом, запускающимся по крону к примеру раз в час. При этом мы не знаем, создана ли запись на сегодняшний день, а выполнить всё хочется за один запрос. Тут бы на помощь пришёл «ON DUPLICATE KEY UPDATE» от …
Установка SQL Server Management Studio под MAC OS
Установить Parallels Desktop (он не бесплатный) Скачать Microsoft® SQL Server® 2008 Management Studio Express Установить полностью Запустить Microsift SQL Server 2008 → Средства настройки → Диспетчер конфигурации SQL Server. В нём в разделе «Настройка собственного клиента SQL → Псевдонимы» добавить псевдоним В SQL Server Management Studio вбить этот псевдоним Пользоваться и ненавидеть MS)
Переход с убунты на мак
Сейчас пытаюсь перейти. Интересные вещи: есть macPorts несколько рабочих столов тут называется spaces на клавише Ctrl у меня висело показывать рабочий стол, чтобы отключить, нужно в системных настройках в поиске набрать expose и вырубить нафиг хоткей «показать рабочий стол» диспетчер здесь называется «мониторинг системы» msSqlServer-клиент (да-да, хотел уйти с постгреса на мускуль, а основной БД …
PhpStorm DB Navigator
Чтобы работать напрямую с MySQL-базой из PhpStorm: Установить плагин Database Navigator (перезапустить IDE — появится пункт DB Navigator). Скачать jdbc-драйвер (http://www.mysql.com/downloads/connector/j/) DB Navigator → Settings → add connection: driver library — …mysql-connector-java-5.1.16-bin.jar url — jdbc:mysql://127.0.0.1:3306 user — root
О важности совместного приёма пищи
Давно отмечал важность совместных обедов и ланчей с коллегами по работе — с кем ешь, с тем и больше общаешься по работе, что очень важно. Вот мысли на этот счёт от Спольски: http://www.joelonsoftware.com/items/2011/04/28.html
Open Mail Format (OMF)
Open Mail Format (OMF) — это открытый стандарт разметки почтовых уведомлений. OMF позволяет вам улучшить представление ваших писем в интерфейсе почты Mail.Ru, повышая их эффективность и конверсию. http://api.mail.ru/mail/omf/ спецификация формата
MySQL: что быстрее, многоколоночный индекс или пересечение индексов (index merge)
Вкратце: если в условии WHERE разные столбцы соединяются условием OR, то лучше иметь отдельные индексы по этим полям, во всех остальных случаях нужно использовать многоколоночный индекс (данные по MySQL 5.2.4). Подробнее.
Ubuntu: Полезные команды Unity
Ubuntu 11.04 предлагает прекрасную возможность выучить новые и интересные команды для забивания шурупов молотком. Проверить возможность запуска (это просят делать на launchpad.net, если глючит железо): /usr/lib/nux/unity_support_test -p Что-то пошло не так… Удалить настройки unity из ccsm (CompizConfig Settings Manage): unity —reset Эта команда помогла, когда я включил KDE/Qt event loop, получив перезагружающийся каждые две секунды …
«Человеческий фактор» (peopleware), Демарко и Листер
Основные мысли: Под давлением люди работают не лучше, а всего лишь быстрее. Нельзя постоянно давать людям перерабатывать, от этого снижается мотивация и происходит текучка. Люди работают «в потоке», и надо давать людям возможность сосредоточиться на работе, и не отвлекать их слишком часто. Надо давать людям думать на работе, не надо пихать всех в один опен-спэйс, если …