• Утечка памяти используя Thread и pyglet?

    @oo22maxi Автор вопроса
    Нашел решение, нужно было использовать не отдельный поток через threading.Thread, а отдельный процесс через multiprocessing.Process. При воспроизведение следующего трека, процесс закрывается и открывается новый, в результате нет утечки памяти.
    Ответ написан
    Комментировать
  • HTML5. Правильная семантическая структура для страницы?

    @oo22maxi Автор вопроса
    Вот пример https://jsfiddle.net/5sjypc1u/
    nav и main в обертке, хочется сделать по центру блок с фиксированной шириной.
    Ответ написан
    Комментировать
  • Как в PhantomJS выполнять сценарий во всех iframe?

    @oo22maxi Автор вопроса
    Решил проблему используя
    page.switchToFrame('framwName/framwPosition');
    docs
    Ответ написан
  • Как получить одну запись с приоритетом из БД?

    @oo22maxi Автор вопроса
    Решил как то так
    SELECT 
        tasks.*, 
        t2.lang, 
        t2.title 
    FROM 
        tasks 
    JOIN 
        tasks_translates AS t2 
    ON 
        (tasks.id = t2.task_id) 
    WHERE 
        t2.lang = (
            SELECT 
                lang 
            FROM 
                tasks_translates
            WHERE 
                task_id = tasks.id 
            ORDER BY FIELD 
                (lang, 'en', 'ru') 
            LIMIT 1 
        )


    Если есть лучше способ, скажите какой...
    Ответ написан
    Комментировать
  • Выполнение скрипта при выключении-перезагрузке, что не так?

    @oo22maxi Автор вопроса
    Решение для Ubuntu 15.10 (думаю в 15.04 и выше работает тоже):
    Так как Ubuntu имеет смешанную систему инициализации. В Ubuntu 14.10 и ниже - sysv и upstart, в Ubuntu 15.04 - upstart и systemd. тык


    Не забываем менять user на свой

    Создадим новый файл, я назвал его finish-yandex, с таким содержанием:
    [Unit]
    Description=Save Yandex config
    After=systemd-user-sessions.service
    
    [Service]
    ExecStop=/bin/bash '/home/user/.yandex_ram/finish-yandex.sh'
    Type=oneshot
    RemainAfterExit=yes
    
    [Install]
    WantedBy=multi-user.target reboot.target poweroff.target


    Немного о файле
    Unit - общая информация.
    Description - описание сервиса.
    After - задаёт порядок загрузки. В моём случае после старта сессии пользователя.
    
    Service - содержит информацию о службе
    ExecStop - Выполняет команду при остановке сервиса.
    Type - Типы службы. oneshot полезен для скриптов, которые выполняют одно задание и завершаются
    
    Install - когда юнит должен быть активирован


    finish-yandex.sh для теста содержит:
    #!/bin/sh
    echo "it works test" >> /home/user/.yandex_ram/test.log


    Делаем файл finish-yandex исполняемым:
    sudo chmod +x /home/user/.yandex_ram/finish-yandex

    Копируем файл в /etc/systemd/system с расширением *.service:
    sudo cp /home/user/.yandex_ram/finish-yandex /etc/systemd/system/finish-yandex.service


    Перезагружаем systemd для поиска новых или измененных юнитов:
    sudo systemctl daemon-reload

    Включаем юнит в автозапуск при загрузке системы:
    sudo systemctl enable finish-yandex.service

    Перезагружаемся и проверяем. У меня все заработало, файл test.log появился после перезагрузки.

    Что бы проверить для начало без перезагрузки, можно запустить и остановить юнит:
    sudo systemctl start finish-yandex.service
    
    sudo systemctl stop finish-yandex.service


    Для отключения юнита из автозапуск при загрузке системы:
    sudo systemctl disable finish-yandex.service

    Полезная ссылка о systemd - тык.
    Ответ написан
    1 комментарий