Автор: Павел Грибов
PostgreeSQL: бекап и востановление таблиц по маске
Задача: сделать бекап таблиц по маске и их восстановление
Решение:
для создания бекапа добавим ключи:
—if-exists — если есть, то удалить таблицу
—inserts — вместо copy использовать nsert
-c — очистка данных перед вставкой
Bitrix: восстановление пароля администратора
Задача: восстановить утерянный пароль администратора
Решение 1: создать в корне сайта файл вида:
, где вместо цифры 1 можно использовать id вашего пользователя. Но обычно подходит и 1. Далее необходимо его открыть в браузере
Решение 2: если мы помним логин, и есть доступ к БД, то
- Ищем id пользователя с правами администратора:
Меняем пароль на любимый:
PHP: как проверить, вызван ли метод класса из экземпляра, или статически
Задача: при вызове метода класса, использовать разный код в зависимости от того, как вызвана функция: статически или из класса. Т.е. результат выполнения кода:
и кода:
, должен быть разным.
Решение:
объявим в классе статическую переменную, которая будет изменять свое значение, если был создан экземпляр класса.
RabbitMQ: отложенные сообщения
Задача: организовать доставку сообщения «слушателю» спустя какое-то время, а не сразу
Решение: одним из способов реализации является использование модуля rabbitmq-delayed-message-exchange.
Установка для Ubuntu:
- Скачать подходящую версию модуля для версии вашего RabbitMQ в формате *.ez
- Положить его в папку (в моём случае) /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.9/plugins
- Включить плагин
Использование:
Пример постановки в очередь:
Пример слушателя: