[00:04:08] remo: fuzzy: делать шедулер, который грохает процессы...у меня до этого разговора был sh скрипт, который по таймауту запускается и старше 10 минут все фантомы киляет
[00:04:23] remo: fuzzy: но килять-то он киляет, а вот утечка памяти наблюдается
[00:04:39] remo: fuzzy: утечка памяти в питон скрипте. Она постоянно растёт
[00:05:05] slav0nic is now offline
[00:05:09] fuzzy: убивай питон процесс
[00:06:18] slav0nic is now online
[00:07:25] remo: fuzzy: нельзя его убивать. он должен работать 24/7
[00:07:41] fuzzy: выдели из него часть, которая течёт в отдельный процесс
[00:07:57] fuzzy: ну и 24/7 он всё-равно не будет работать
[00:08:02] fuzzy: это ж просто компьютер
[00:09:07] remo: fuzzy: это не компьютер, а сервис, который должен работать круглые сутки
[00:09:09] obivan is now online
[00:09:35] fuzzy: а что с ним происходит, когда он умирает?
[00:12:32] syntaxerror is now away
[00:12:33] syntaxerror is now online
[00:14:23] remo: fuzzy: процесс фантома просто висит в памяти. Не увеличиваясь в размерах и не уменьшаясь
[00:15:04] fuzzy: ты не можешь объяснить, что тебе мешает его убить?
[00:17:32] syntaxerror is now away
[00:17:33] syntaxerror is now away
[00:24:23] remo is now away
[00:31:16] remo is now online
[00:31:54] remo: fuzzy: http://stackoverflow.com/questions/10752512/get-pid-of-browser-launched-by-selenium phantomjs не предоставляет такого метода
[00:32:13] fuzzy: убей процесс в обход phantomjs
[00:33:43] remo: fuzzy: внешним скриптом я и убиваю. Вопрос только в том, что когда я убиваю процесс фантома, то в скрипте не освобождаются ресурсы
[00:34:16] fuzzy: а с чего бы им освобождаться?
[00:34:22] fuzzy: ты же убиваешь другой процесс
[00:35:10] remo: fuzzy: ну так в целом-то проблема не решается внешним убийством процесса
[00:35:21] gigimon is now offline
[00:35:35] fuzzy: не убийством единым
[00:35:53] fuzzy: ещё раз: вынеси часть, которая течёт в отдельный процесс
[00:35:55] fuzzy: и его убивай
[00:38:13] obivan is now offline
[00:38:19] remo: fuzzy: все функции, которые выполняют проверку после выполнения функции освобождаются. Единственная функция - инициализация вебдрайвера
[00:38:57] fuzzy: снова какая-то несуразица
[00:39:06] fuzzy: как это функции освобождаются?
[00:39:18] fuzzy: инициализация вебдрайвера - что единственная функция?
[00:39:39] remo: fuzzy: имел ввиду локальные переменные, которые получают данные
[00:39:42] remo: fuzzy: driver = Selenium.Selenium().init_driver()
[00:40:14] obivan is now online
[00:40:19] fuzzy: ну значит память течёт не в локальных переменных
[00:40:37] remo: но данная инструкция тоже в функции находится, так что после выхода из нее переменная driver тоже освобождается. А вот все объекты инициализированного драйвера нет
[00:40:48] remo: экзакли, мле:) Конечно же текут не локальные переменные
[00:41:17] remo: после закрытия driver.close() не освобождаются ресурсы
[00:41:54] remo: и не закрывается процесс фантомjs. Если убиваем фантом, то всёравно имеем текучесть памяти
[00:41:56] remo: )))
[00:42:29] fuzzy: ещё раз: вынеси создание драйвера в отдельный процесс
[00:46:02] remo: fuzzy: сейчас он и так в отдельном процессе запускается
[00:46:34] fuzzy: убивай этот процесс
[00:52:13] remo: fuzzy: thread.start_new_thread. Изнутри функции, которую запустил можно убить этот процесс ? Или надо при запуске x = thread.start_new_thread, а потом x.kill() ? Почему спрашиваю ? Потому что всё это вращается в цикле, там много чего запускается. Если есть возможность из самой функции убить себя - то это было бы проще
[00:53:49] fuzzy: start_new_thread не запускает новый процесс
[00:57:50] fuzzy: запускает новый поток в текущем процессе
[00:57:59] fuzzy: потоки отличаются от процессов тем, что у них общая память
[00:58:30] fuzzy: если процесс можно убить и вся его память освободится, то память, которая утекла из потока будет жить, пока хоть один поток в том же процессе жив
[00:58:50] fuzzy is now away
[00:58:50] fuzzy is now online
[00:58:50] fuzzy is now away
[00:58:51] fuzzy is now online
[01:01:09] remo: ясно, но уже завтра
[01:01:21] remo: fuzzy: спасибо, что уделяешь на меня время
[01:30:54] fuzzy is now online
[01:41:52] obivan is now offline
[02:12:01] : Используемый вами псевдоним не зарегистрирован
[02:12:01] Сволота is now online
[02:12:01] slav0nic is now online
[02:12:01] syntaxerror is now away
[02:12:01] madmercen is now online
[02:12:01] remo is now away
[02:12:01] fuzzy is now away
[02:12:01] AlexZenon is now xa
[02:12:01] magic_pony is now online
[02:12:01] : slav0nic установил(а) тему: python.su | Сначала поищи ответ на docs.python.org | Теперь поищи в google.com | Код постить в dumpz.org | Хочешь задать вопрос - просто *задай* его! | Правила написания хорошего кода: http://➡.ws/pep8 | Логи: http://logs.python.su
[02:27:11] slav0nic is now offline
[02:33:20] fuzzy is now online
[03:03:24] : Используемый вами псевдоним не зарегистрирован
[03:03:24] Сволота is now online
[03:03:24] syntaxerror is now away
[03:03:24] madmercen is now online
[03:03:24] remo is now away
[03:03:24] fuzzy is now online
[03:03:24] AlexZenon is now xa
[03:03:24] magic_pony is now online
[03:03:24] : slav0nic установил(а) тему: python.su | Сначала поищи ответ на docs.python.org | Теперь поищи в google.com | Код постить в dumpz.org | Хочешь задать вопрос - просто *задай* его! | Правила написания хорошего кода: http://➡.ws/pep8 | Логи: http://logs.python.su
[03:08:01] fuzzy is now away
[03:08:03] fuzzy is now online
[03:09:28] fuzzy is now away
[03:19:30] fuzzy is now away
[03:31:27] fuzzy is now away
[03:31:58] fuzzy is now away
[04:02:07] : Используемый вами псевдоним не зарегистрирован
[04:02:07] Сволота is now online
[04:02:07] syntaxerror is now away
[04:02:07] madmercen is now online
[04:02:07] remo is now away
[04:02:07] fuzzy is now away
[04:02:07] AlexZenon is now xa
[04:02:07] magic_pony is now online
[04:02:07] : slav0nic установил(а) тему: python.su | Сначала поищи ответ на docs.python.org | Теперь поищи в google.com | Код постить в dumpz.org | Хочешь задать вопрос - просто *задай* его! | Правила написания хорошего кода: http://➡.ws/pep8 | Логи: http://logs.python.su
[04:09:03] madmercen is now away
[04:17:03] madmercen is now xa
[04:18:07] madmercen is now online
[04:48:19] : Используемый вами псевдоним не зарегистрирован
[04:48:19] Сволота is now online
[04:48:19] syntaxerror is now away
[04:48:19] madmercen is now online
[04:48:19] remo is now away
[04:48:19] fuzzy is now away
[04:48:19] AlexZenon is now xa
[04:48:19] magic_pony is now online
[04:48:19] : slav0nic установил(а) тему: python.su | Сначала поищи ответ на docs.python.org | Теперь поищи в google.com | Код постить в dumpz.org | Хочешь задать вопрос - просто *задай* его! | Правила написания хорошего кода: http://➡.ws/pep8 | Логи: http://logs.python.su
[05:16:28] Сволота is now away
[05:17:36] Сволота is now online
[05:30:01] madmercen is now away
[05:30:36] Сволота is now away
[05:31:41] madmercen is now online
[05:37:20] Сволота is now online
[05:42:22] Сволота is now away
[05:52:22] Сволота is now xa
[06:05:04] Сволота is now online
[06:07:57] madmercen is now away
[06:09:26] madmercen is now online
[06:10:06] Сволота is now away
[06:15:26] Сволота is now online
[06:21:33] dicos is now online
[06:25:29] dicos is now away
[06:25:31] dicos is now away
[06:27:06] Сволота is now away
[06:27:17] dicos is now away
[06:27:18] dicos is now online
[06:32:50] Сволота is now online
[06:34:16] madmercen is now away
[06:34:27] madmercen is now online
[06:37:52] Сволота is now away
[06:47:53] Сволота is now xa
[07:14:14] madmercen is now away
[07:16:28] Сволота is now online
[07:21:28] Сволота is now away
[07:22:14] madmercen is now xa
[07:24:00] Сволота is now online
[07:29:00] Сволота is now away
[07:37:06] dicos is now away
[07:37:08] dicos is now away
[07:39:00] Сволота is now xa
[07:43:18] dicos is now away
[07:43:19] dicos is now online
[07:50:56] Сволота is now online
[08:07:22] Сволота is now away
[08:07:47] obivan is now online
[08:17:22] Сволота is now xa
[08:26:37] fuzzy is now away
[08:35:12] Сволота is now online
[08:36:07] dicos is now away
[08:36:09] dicos is now away
[08:44:42] Сволота is now away
[08:54:42] Сволота is now xa
[08:58:17] syntaxerror is now I'm not here right now
[09:01:02] Сволота is now online
[09:03:39] syntaxerror is now away
[09:03:39] syntaxerror is now away
[09:06:08] Сволота is now away
[09:08:16] dicos is now away
[09:08:17] dicos is now online
[09:08:20] Сволота is now online
[09:14:46] Сволота is now away
[09:24:46] Сволота is now xa
[09:29:51] syntaxerror is now away
[09:29:51] syntaxerror is now I'm not here right now
[09:36:29] obivan is now offline
[09:39:18] dicos is now away
[09:39:20] dicos is now away
[09:43:35] syntaxerror is now away
[09:43:36] syntaxerror is now away
[09:47:27] levsha is now online
[09:52:18] nuclearworm is now online
[10:05:47] levsha is now away
[10:07:59] syntaxerror is now away
[10:08:00] syntaxerror is now I'm not here right now
[10:11:06] levsha is now offline
[10:18:27] syntaxerror is now away
[10:18:28] syntaxerror is now away
[10:22:06] dicos is now away
[10:22:07] dicos is now online
[10:24:04] nuclearworm is now offline
[10:26:32] levsha is now away
[10:26:38] levsha is now online
[10:26:44] fuzzy is now away
[10:26:46] fuzzy is now online
[10:37:09] slav0nic is now online
[10:41:39] dicos is now away
[10:41:41] dicos is now away
[10:45:05] fuzzy is now away
[10:45:05] fuzzy is now online
[10:45:05] fuzzy is now away
[10:45:05] fuzzy is now online
[10:46:02] fuzzy is now away
[10:46:27] syntaxerror is now away
[10:46:28] syntaxerror is now I'm not here right now
[10:56:10] fuzzy is now away
[11:03:56] remo is now offline
[11:08:02] fuzzy is now away
[11:08:33] fuzzy is now away
[11:21:10] AlexZenon is now online
[11:25:45] nuclearworm is now online
[11:28:49] remo is now away
[11:30:13] fuzzy is now away
[11:30:15] fuzzy is now online
[11:30:20] nuclearworm is now away
[11:30:22] nuclearworm is now away
[11:30:24] nuclearworm is now away
[11:30:25] nuclearworm is now online
[11:31:57] fuzzy is now away
[11:36:41] fuzzy is now online
[11:39:44] remo is now online
[11:41:28] nuclearworm is now away
[11:41:30] nuclearworm is now away
[11:42:06] fuzzy is now online
[11:43:13] nmk is now online
[11:43:51] levsha is now away
[11:44:13] levsha is now online
[11:48:41] levsha is now away
[11:50:24] slav0nic is now away
[11:51:05] remo is now away
[11:51:40] nuclearworm is now away
[11:51:41] nuclearworm is now online
[11:52:07] levsha is now online
[11:52:31] dicos is now away
[11:52:32] dicos is now online
[11:53:57] fuzzy is now online
[11:54:28] fuzzy is now online
[11:54:29] slav0nic is now online
[12:01:54] dicos is now away
[12:01:56] dicos is now away
[12:06:41] fuzzy is now away
[12:08:12] dicos is now away
[12:08:13] dicos is now online
[12:13:07] syntaxerror is now away
[12:13:08] syntaxerror is now away
[12:30:58] syntaxerror is now away
[12:30:59] syntaxerror is now I'm not here right now
[12:32:34] levsha is now away
[12:35:53] slav0nic is now away
[12:38:04] levsha is now offline
[12:39:36] fuzzy is now away
[12:39:40] fuzzy is now online
[12:43:19] dicos is now away
[12:43:21] dicos is now away
[12:45:53] slav0nic is now xa
[12:46:40] dicos is now away
[12:46:41] dicos is now online
[12:50:54] syntaxerror is now away
[12:50:55] syntaxerror is now away
[12:55:18] remo is now online
[12:56:13] remo: fuzzy: в принципе получилсь, но всеравно память тикает по 4к. Пробую сделать шедулер, который будет проверять живы ли процессы после 5 секунд работы и килять их: http://paste.debian.net/289659/
[12:56:47] remo: почему при удалении кея ловится эксепшен и как этого избежать ?
[12:57:07] fuzzy: что ты несёшь снова?
[12:57:19] fuzzy: ты читаешь то, что ты пишешь?
[12:58:24] remo: fuzzy: окей, делаем синтаксический анализ того, что я написал. Что в том, что я написал не так ?
[12:58:44] fuzzy: "почему при удалении кея ловится эксепшен и как этого избежать ?"
[12:58:51] fuzzy: "при удалении кея"
[12:58:58] fuzzy: нет контекста
[12:59:10] levsha is now away
[12:59:11] fuzzy: "почему ловится эксепшен"
[12:59:16] fuzzy: ?!?!
[12:59:24] remo: fuzzy: ок. После удаления ключа на следующей итерации появляется эксепшен
[12:59:26] fuzzy: "как этого избежать ?" >_<
[12:59:32] fuzzy: какого ключа?
[12:59:40] fuzzy: о чём ты вообще?
[12:59:42] levsha is now online
[12:59:45] fuzzy: какой иксепшн7
[13:00:00] remo: fuzzy: 12:56 http://paste.debian.net/289659/
[13:00:09] fuzzy: а, я ссылку не смотрел
[13:00:16] fuzzy: ну ок
[13:00:19] fuzzy: там же написано
[13:00:25] fuzzy: RuntimeError: dictionary changed size during iteration
[13:00:50] remo: что, после удаления ключа делать проверку del process[k]; if len(process) == 0: break ?
[13:00:52] fuzzy: исключение выбрасывается
[13:00:55] fuzzy: но не ловится
[13:01:19] fuzzy: просто нельзя ключи удалять из словаря, пока ты по нему итерируешься
[13:01:26] fuzzy: или добавлять
[13:01:42] fuzzy: можешь итерироваться не по словарю
[13:02:11] dicos is now away
[13:02:13] dicos is now away
[13:02:36] fuzzy: зачем тебе вообще словарь?
[13:03:19] remo: fuzzy: ключ - процесс, значение - время с дельтой
[13:03:24] fuzzy: в идеале у тебя там должно быть просто heapq
[13:03:35] fuzzy: куча, которая всегда отсортирована
[13:03:42] fuzzy: в твоём случае - отсортирована по времени
[13:04:07] fuzzy: и из неё выбираешь первый элемент, пока он меньше текущего времени. и уиваешь соответствующий процесс
[13:04:16] fuzzy: !pydoc heapq
[13:04:29] fuzzy: processes = []
[13:04:57] fuzzy: heapq.heappush( (datetime.datetime.now() + datetime.timedelta(seconds=5), p) )
[13:05:03] fuzzy: heapq.heappush( (datetime.datetime.now() + datetime.timedelta(seconds=15), p2) )
[13:05:05] dicos is now away
[13:05:06] dicos is now online
[13:05:17] fuzzy: while processes:
[13:05:31] fuzzy: next = heappop(processes)
[13:05:47] fuzzy: if next[0] < time.time(): next[1].terminate()
[13:06:03] fuzzy: else: heappush(processes, next)
[13:10:26] levsha is now away
[13:13:19] remo is now away
[13:15:27] levsha is now offline
[13:15:36] remo is now online
[13:15:41] remo: fuzzy: спасибо)
[13:17:15] syntaxerror is now away
[13:17:16] syntaxerror is now I'm not here right now
[13:18:14] fuzzy: $20
[13:18:24] Сволота is now online
[13:18:28] fuzzy: ой
[13:18:45] fuzzy: €20
[13:23:06] nuclearworm is now away
[13:23:07] nuclearworm is now away
[13:25:42] remo is now away
[13:26:43] fuzzy is now away
[13:28:01] fuzzy is now away
[13:28:07] fuzzy is now online
[13:45:55] levsha is now away
[13:46:00] levsha is now online
[13:52:16] levsha is now away
[13:54:06] levsha is now online
[13:55:46] remo is now online
[13:55:48] fuzzy is now away
[13:55:48] fuzzy is now away
[13:56:17] remo: fuzzy: Process(Process-266, stopped) - ничего он не киляет. Они все мертвы. Но)))) память по 4кб течет(при создании фантомов)
[14:04:27] nuclearworm is now away
[14:04:28] nuclearworm is now online
[14:06:17] fuzzy is now away
[14:06:17] remo is now away
[14:06:19] fuzzy is now online
[14:06:45] levsha is now away
[14:09:12] levsha is now online
[14:14:07] dicos is now offline
[14:16:52] madmercen is now online
[14:22:30] fuzzy is now online
[14:23:00] slav0nic is now online
[14:25:54] fuzzy is now away
[14:25:55] fuzzy is now away
[14:36:52] madmercen is now away
[14:39:04] madmercen is now online
[14:59:40] MAVr is now — Уважаемые пассажиры! Убедительно просим вас не аплодировать экипажу до полной остановки самолета. Спасибо!
[15:00:01] MAVr is now offline
[15:08:54] madmercen is now away
[15:16:54] madmercen is now xa
[15:24:06] madmercen is now online
[15:29:35] levsha is now away
[15:32:35] levsha is now online
[15:34:42] fuzzy is now away
[15:35:56] madmercen is now away
[15:39:51] remo is now online
[15:42:02] madmercen is now online
[15:49:53] remo is now away
[15:57:32] remo is now online
[15:58:10] remo: fuzzy: pumpler показывает http://paste.debian.net/289708/ что утечки нет. Но в процессе стабильно увеличивается кол-во потребляемой памяти на ~4-8kb каждый раз, когда появляются новые процессы
[16:01:50] levsha is now away
[16:03:27] levsha is now online
[16:08:10] remo is now away
[16:25:01] blw0rm is now online
[16:36:26] fuzzy is now away
[16:36:28] fuzzy is now online
[16:36:57] syntaxerror is now I'm not here right now
[16:37:09] fuzzy: это не показатель сам-по-себе
[16:37:21] fuzzy: она может освобождаться, когда ты не смотришь, большими кусками
[16:38:00] fuzzy: если ты уже так детально смотришь, можешь посмотреть на использованиеи tcmalloc вместо стандартного аллокатора в питоне
[16:38:05] fuzzy: кому-то это помогает
[16:58:56] fuzzy is now online
[16:58:56] fuzzy is now away
[16:59:03] fuzzy is now away
[16:59:34] fuzzy is now away
[17:06:20] syntaxerror is now I'm not here right now
[17:32:11] remo is now online
[17:42:29] remo is now away
[17:50:09] remo is now online
[17:52:04] Сволота is now away
[17:56:43] gigimon is now online
[18:00:25] fuzzy is now away
[18:00:40] remo is now away
[18:01:14] gigimon is now offline
[18:01:57] gigimon is now online
[18:02:04] Сволота is now xa
[18:02:52] madmercen is now away
[18:09:17] AlexZenon is now offline
[18:10:52] madmercen is now xa
[18:14:30] madmercen is now online
[18:21:47] fuzzy is now away
[18:21:51] fuzzy is now away
[18:26:59] remo is now online
[18:29:24] AlexZenon is now online
[18:29:25] nuclearworm is now offline
[18:31:29] gigimon is now online
[18:36:18] remo is now offline
[18:36:47] gigimon is now away
[18:38:35] fuzzy is now away
[18:38:37] fuzzy is now online
[18:43:10] fuzzy is now online
[18:44:08] gigimon is now away
[18:44:08] gigimon is now online
[18:53:17] fuzzy is now online
[18:53:47] dicos is now online
[18:58:04] dicos is now away
[18:58:06] dicos is now away
[19:11:07] fuzzy is now online
[19:11:08] fuzzy is now online
[19:13:40] dicos is now away
[19:13:41] dicos is now online
[19:18:43] dicos is now away
[19:18:45] dicos is now away
[19:27:41] blw0rm is now away
[19:29:01] levsha is now away
[19:29:27] fuzzy is now online
[19:30:20] fuzzy is now away
[19:30:40] fuzzy is now away
[19:31:28] madmercen is now away
[19:32:42] blw0rm is now online
[19:34:26] levsha is now offline
[19:36:27] levsha is now away
[19:39:28] madmercen is now xa
[19:40:20] fuzzy is now away
[19:40:35] fuzzy is now away
[19:41:07] fuzzy is now away
[19:42:01] levsha is now offline
[19:42:08] syntaxerror is now away
[19:42:09] syntaxerror is now online
[19:43:19] remo is now online
[19:43:50] fuzzy is now away
[19:47:32] blw0rm is now away
[19:47:40] fuzzy is now away
[19:50:39] nmk is now offline
[19:53:19] remo is now away
[20:00:59] dicos is now away
[20:00:59] dicos is now online
[20:01:54] blw0rm is now online
[20:05:01] syntaxerror is now online
[20:08:26] gigimon is now offline
[20:25:55] remo is now online
[20:29:19] fuzzy is now away
[20:31:48] syntaxerror is now away
[20:31:49] syntaxerror is now away
[20:34:56] fuzzy is now away
[20:35:58] remo is now away
[20:46:51] levsha is now away
[20:49:04] dicos is now offline
[20:52:10] fuzzy is now away
[20:52:27] fuzzy is now away
[21:02:17] Сволота is now online
[21:03:28] syntaxerror is now away
[21:03:29] syntaxerror is now online
[21:03:43] levsha is now offline
[21:04:37] syntaxerror is now offline
[21:06:15] fuzzy is now away
[21:08:45] levsha is now online
[21:12:37] levsha is now offline
[21:14:06] levsha is now online
[21:15:19] Сволота is now away
[21:16:10] fuzzy is now away
[21:16:55] Сволота is now online
[21:31:15] levsha is now offline
[21:32:33] levsha is now online
[21:33:58] levsha is now offline
[21:36:04] fuzzy is now away
[21:36:04] fuzzy is now away
[21:49:13] levsha is now online
[21:51:21] fuzzy is now away
[21:51:24] fuzzy is now online
[21:56:36] madmercen is now online
[21:57:22] fuzzy is now online
[22:07:25] fuzzy is now online
[22:08:10] slav0nic is now away
[22:12:35] slav0nic is now online
[22:32:01] blw0rm is now away
[22:37:01] blw0rm is now online
[22:43:20] madmercen is now away
[22:46:00] madmercen is now online
[22:50:45] fuzzy is now online
[22:50:47] fuzzy is now online
[22:59:01] fuzzy is now online
[22:59:02] fuzzy is now away
[22:59:12] fuzzy is now away
[22:59:44] fuzzy is now away
[23:06:09] levsha is now offline
[23:10:13] fuzzy is now away
[23:14:38] madmercen is now away
[23:15:48] fuzzy is now away
[23:16:28] madmercen is now online
[23:18:41] obivan is now online
[23:20:52] gigimon is now online
[23:31:45] gigimon is now offline
[23:32:00] gigimon is now online
[23:32:49] gigimon is now offline
[23:32:55] gigimon is now online
[23:37:13] fuzzy is now away
[23:47:13] fuzzy is now away