1. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!
    Скрыть объявление

Net::HTTP - out of memory и нерабочий "use pages"

Тема в разделе "Техническая поддержка", создана пользователем John, 7 дек 2014.

  1. John

    John A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    25 ноя 2013
    Сообщения:
    48
    Симпатии:
    8
    Приветствую!

    Два вопроса по Net::HTTP

    1) Сделал несложный пресет для парсера Net:HTTP
    eyJwcmVzZXQiOiJBbGliYWJhIFNFUlAiLCJ2YWx1ZSI6eyJwYXJzZXJzIjpbWyJO
    ZXQ6OkhUVFAiLCJkZWZhdWx0Iix7InR5cGUiOiJvdmVycmlkZSIsImlkIjoicXVl
    cnlmb3JtYXQiLCJ2YWx1ZSI6Imh0dHA6Ly93d3cuYWxpYmFiYS5jb20vdHJhZGUv
    c2VhcmNoP2ZzYj15JkluZGV4QXJlYT1wcm9kdWN0X2VuJkNhdElkPSZTZWFyY2hU
    ZXh0PSRxdWVyeSJ9LHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJ1c2Vwcm94eSIs
    InZhbHVlIjpmYWxzZX0seyJ0eXBlIjoiY3VzdG9tUmVzdWx0IiwicmVzdWx0Ijpb
    InBhZ2VzIiwiZGF0YSJdLCJyZWdleCI6IjxoMiBjbGFzcz1cInRpdGxlXCI+PGEg
    aHJlZj1cIiguKj8pXCIuKj88ZGl2IGNsYXNzPVwiYXR0clwiPltcXHNcXHRdK1VT
    IFxcJChbMC05XFwuXSspKD86LShbMC05XFwuXSspKSAvIDxlbT4oLio/KTwvZW0+
    IDxlbT5cXCggKC4qPylcXCk8L2VtPi4qPzxkaXYgY2xhc3M9XCJhdHRyXCI+W1xc
    c1xcdF0rKC4qPykgPGVtPlxcKE1pbi4gT3JkZXJcXCk8L2VtPiIsInJlZ2V4VHlw
    ZSI6ImlzZyIsInJlc3VsdFR5cGUiOiJhcnJheSIsImFycmF5TmFtZSI6Iml0ZW1z
    IiwicmVzdWx0cyI6WyJ1cmwiLCJwcmljZV9taW4iLCJwcmljZV9tYXgiLCJwcmlj
    ZWl0ZW0iLCJwcmljZXR5cGUiLCJtb3EiXX0seyJ0eXBlIjoib3ZlcnJpZGUiLCJp
    ZCI6ImZvcm1hdHJlc3VsdCIsInZhbHVlIjoiJGl0ZW1zLmZvcm1hdCgnJHByaWNl
    X21pbiwgJHByaWNlX21heCwgJHByaWNlaXRlbSwgJHByaWNldHlwZSwgJG1vcSwg
    JHVybFxcbicpIn0seyJ0eXBlIjoib3B0aW9ucyIsImlkIjoiY2hlY2tOZXh0UGFn
    ZSIsInZhbHVlIjoiPGEgY2xhc3M9XCJuZXh0XCIgaHJlZj1cIiguKj8pXCIifV1d
    LCJyZXN1bHRzRm9ybWF0IjoiJHAxLnByZXNldCIsInJlc3VsdHNTYXZlVG8iOiJm
    aWxlIiwicmVzdWx0c0ZpbGVOYW1lIjoiJGRhdGVmaWxlLmZvcm1hdCgpLnR4dCIs
    ImFkZGl0aW9uYWxGb3JtYXRzIjpbXSwicmVzdWx0c1VuaXF1ZSI6Im5vIiwicXVl
    cnlGb3JtYXQiOlsiJHF1ZXJ5Il0sInVuaXF1ZVF1ZXJpZXMiOmZhbHNlLCJzYXZl
    RmFpbGVkUXVlcmllcyI6ZmFsc2UsIml0ZXJhdG9yT3B0aW9ucyI6eyJvbkFsbExl
    dmVscyI6ZmFsc2V9LCJkb0xvZyI6Im5vIiwia2VlcFVuaXF1ZSI6Ik5vIiwibW9y
    ZU9wdGlvbnMiOmZhbHNlLCJyZXN1bHRzUHJlcGVuZCI6IiIsInJlc3VsdHNBcHBl
    bmQiOiIiLCJxdWVyeUJ1aWxkZXJzIjpbXSwicmVzdWx0c0J1aWxkZXJzIjpbXSwi
    Y29uZmlnT3ZlcnJpZGVzIjpbXX19

    В качестве query использую запрос "quad copters".
    К сожалению, апарсер умирает со следующей записью в логе:

    Dec 7 11:46:35.90145 parser started
    Dec 7 11:46:36.82101 starting task 53
    Dec 7 11:46:38.70188 loading before not loaded iterator
    Dec 7 11:47:18.15907 task 53 paused
    Dec 7 11:56:48.70583 starting task 54
    Out of memory!
    Dec 7 11:59:33.40766 [Master] end called, pid 12038
    OK, BYE! | at (eval 285) line 1.
    Dec 7 11:59:33.41642 [Worker/12041] end called, pid 12041
    Dec 7 11:59:33.42383 [Template of 12038] exit called, pid 12039
    OK, BYE! | at (eval 285) line 1.
    Dec 7 11:59:33.42791 [Worker/12040] end called, pid 12040
    DESTROY created new reference to dead object 'Parser::Child::ResultsProcessor' during global destruction.
    create template(main) at build/core.to_build.pl line 1687.
    created template 12279 at build/core.to_build.pl line 1696.

    На сервере 1024Мб памяти, убунта, версия апарсера - 1.1.135

    Может у меня с пресетом что-то не так? Или какие-то настройки нужно скорректировать... Подскажите, пожалуйста. Сайт, который я пытаюсь парсить, отдает 7-8 тыс. строк по 38 на странице (это где-то 211 сраниц) - не может же апарсер падать при таком малом объеме.

    2) Почему-то после добавления опции "use pages" ничего не происходит в интерфейсе - т.е. ничего не добавляется. Ни в Parser Test ни в Task editor. В консоль браузера вылезает ошибка (см. скрин).
    Снимок.PNG
    Баг?
     
  2. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.795
    Да, баг, исправлен в версии 1.1.138

    по поводу первого вопроса - анализирую
     
  3. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.795
    С пресетом все нормально
    в связи с некоторыми особенностями работы парсера в данном конкретном случае парсер будет использовать много памяти и может падать если её не достаточно, решение пока одно, отключить многопоточную обработку результатов(доступно с версии 1.1.144):

    Код:
    ./aparser -nofork
     
  4. John

    John A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    25 ноя 2013
    Сообщения:
    48
    Симпатии:
    8
    Forbidden, а нормальное решение (без отключения многопоточности) планируется? И если да, то как скоро?
    А то я тут хотел лицензию продлевать, но пока не вижу смысла - однопоточный скрипт с 1 регуляркой и 1 циклом я и сам могу написать за 10 минут.
     
  5. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.795
    под -nofork имеется ввиду отключения обработки на нескольких ядрах процессора, в остальном парсер также остается многопоточным
     
  6. John

    John A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    25 ноя 2013
    Сообщения:
    48
    Симпатии:
    8
    Я попробовал запустить апарсер с ключом -nofork, при запуске теста получаю ошибку "Error: ResultsProcessor: Error create ResultsProccesor(fork)".
    Снимок.PNG

    Как быть?
     
  7. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.795
    я же написал что эта опция доступна с версии 1.1.144
     
  8. Bran

    Bran A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    31 авг 2013
    Сообщения:
    32
    Симпатии:
    3
    У меня сейчас такая же проблема:
    DESTROY created new reference to dead object 'Parser::Child::ResultsProcessor' during global destruction.
    Тоже ubuntu. Только памяти 16. Версия 1.1.355

    Сейчас тестирую
    ./aparser -nofork

    Но думаю, может есть более правильное решение?..

    Код:
    Dec 19 03:03:12.71122 [Worker/30268] end called, pid 30268
    DESTROY created new reference to dead object 'Parser::Child::ResultsProcessor' during global destruction.
    Dec 19 03:03:12.76533 [Template of 30260] exit called, pid 30261
    OK, BYE!  |  at (eval 299) line 1.
    Dec 19 03:03:12.76645 [Worker/30272] end called, pid 30272
    OK, BYE!  |  at (eval 301) line 1.
    OK, BYE!  |  at (eval 301) line 1.
    Dec 19 03:03:12.76717 [Worker/30350] end called, pid 30350
    Dec 19 03:03:12.76747 [Worker/30351] end called, pid 30351
    create template(main) at build/core.to_build.pl line 850.
    created template 30388 at build/core.to_build.pl line 859.
    Dec 19 03:03:32.9777 parser started
    Dec 19 03:03:35.76794 starting task 5
    Dec 19 03:03:37.02157 loading before not loaded iterator
    Dec 19 03:03:37.21174 resuming queries/alldomains2.txt at 173857 line
    Out of memory!
    Dec 19 04:13:54.79036 [Master] end called, pid 30386
    tls: destroy before close at build/core.to_build.pl line 5083, <$__ANONIO__> line 5 during global destruction.
    tls: destroy before close at build/core.to_build.pl line 5083, <$__ANONIO__> line 5 during global destruction.
    DESTROY created new reference to dead object 'Parser::Child::ResultsProcessor' during global destruction.
    Dec 19 04:13:55.70952 [Template of 30386] exit called, pid 30388
    OK, BYE!  |  at (eval 299) line 1.
    OK, BYE!  |  at (eval 299) line 1.
    Dec 19 04:13:55.71183 [Worker/30394] end called, pid 30394
    Dec 19 04:13:55.71205 [Worker/30393] end called, pid 30393
    create template(main) at build/core.to_build.pl line 850.
    created template 32189 at build/core.to_build.pl line 859.
    Dec 19 11:57:35.58063 parser started
    Dec 19 11:57:37.77764 starting task 5
    Dec 19 11:57:38.87626 loading before not loaded iterator
    Dec 19 11:57:38.98969 resuming queries/alldomains2.txt at 220804 line
    create template(main) at build/core.to_build.pl line 850.
    created template 4316 at build/core.to_build.pl line 859.
    Dec 19 12:15:04.79704 parser started
    Dec 19 12:15:08.49044 starting task 5
    Dec 19 12:15:09.77752 loading before not loaded iterator
    Dec 19 12:15:10.05387 resuming queries/alldomains2.txt at 231036 line
    Out of memory!
    Dec 19 13:36:20.20102 [Master] end called, pid 4315
    DESTROY created new reference to dead object 'Parser::Child::ResultsProcessor' during global destruction.
    OK, BYE!  |  at (eval 299) line 1.
    Dec 19 13:36:20.85594 [Worker/4331] end called, pid 4331
    Dec 19 13:36:21.00673 [Template of 4315] exit called, pid 4316
    OK, BYE!  |  at (eval 299) line 1.
    Dec 19 13:36:21.00767 [Worker/4330] end called, pid 4330
    create template(main) at build/core.to_build.pl line 850.
    created template 6948 at build/core.to_build.pl line 859.
    Dec 19 13:39:11.29192 parser started
     
  9. Bran

    Bran A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    31 авг 2013
    Сообщения:
    32
    Симпатии:
    3
    ./aparser -nofork не помогло
    Код:
    Dec 19 13:43:52.7009 parser started
    Dec 19 13:43:55.08435 starting task 5
    Dec 19 13:43:56.31419 loading before not loaded iterator
    Dec 19 13:43:56.4596 resuming queries/alldomains2.txt at 288729 line
    Out of memory!
    Dec 19 15:19:44.73554 [Master] end called, pid 7098
    tls: destroy before close at build/core.to_build.pl line 5083, <$__ANONIO__> line 17 during global destruction.
    Dec 19 15:37:56.56994 parser started
    Dec 19 15:37:59.3465 starting task 5
    Dec 19 15:38:00.61389 loading before not loaded iterator
    Dec 19 15:38:00.82063 resuming queries/alldomains2.txt at 375153 line
    
     
  10. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.795
    нужен экспорт пресета\скрин настроек
     
  11. Bran

    Bran A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    31 авг 2013
    Сообщения:
    32
    Симпатии:
    3
    Код:
    eyJwcmVzZXQiOiJzYW1wbGUiLCJ2YWx1ZSI6eyJwcmVzZXQiOiJzYW1wbGUiLCJw
    YXJzZXJzIjpbWyJOZXQ6OkhUVFAiLCJub3Byb3gyIix7InR5cGUiOiJmaWx0ZXIi
    LCJyZXN1bHQiOiJkYXRhIiwiZmlsdGVyVHlwZSI6InJlbWF0Y2giLCJ2YWx1ZSI6
    IlxcJG1DMXx2YXIgXFwkTU0yfGZcXChcXCdNQ18xIiwib3B0aW9uIjoiIn0seyJ0
    eXBlIjoib3ZlcnJpZGUiLCJpZCI6ImZvcm1hdHJlc3VsdCIsInZhbHVlIjoiJHF1
    ZXJ5XFxuIn0seyJ0eXBlIjoiZmlsdGVyIiwicmVzdWx0IjoiZGF0YSIsImZpbHRl
    clR5cGUiOiJub3Rjb250YWluIiwidmFsdWUiOiI8bGluayBocmVmPVwiaHR0cDov
    L3duLmNvbSIsIm9wdGlvbiI6InNlbnMifV1dLCJyZXN1bHRzRm9ybWF0IjoiJHAx
    LnByZXNldCIsInJlc3VsdHNTYXZlVG8iOiJmaWxlIiwicmVzdWx0c0ZpbGVOYW1l
    IjoiY29uZmlnZXIxLnR4dCIsImFkZGl0aW9uYWxGb3JtYXRzIjpbXSwicmVzdWx0
    c1VuaXF1ZSI6Im5vIiwicXVlcnlGb3JtYXQiOlsiaHR0cDovLyRxdWVyeS97c3Vi
    czphYWF9Il0sInVuaXF1ZVF1ZXJpZXMiOmZhbHNlLCJzYXZlRmFpbGVkUXVlcmll
    cyI6ZmFsc2UsIml0ZXJhdG9yT3B0aW9ucyI6eyJvbkFsbExldmVscyI6ZmFsc2Us
    InF1ZXJ5QnVpbGRlcnNBZnRlckl0ZXJhdG9yIjpmYWxzZSwicXVlcnlCdWlsZGVy
    c09uQWxsTGV2ZWxzIjpmYWxzZX0sInJlc3VsdHNPcHRpb25zIjp7Im92ZXJ3cml0
    ZSI6ZmFsc2V9LCJkb0xvZyI6Im5vIiwia2VlcFVuaXF1ZSI6Ik5vIiwibW9yZU9w
    dGlvbnMiOmZhbHNlLCJyZXN1bHRzUHJlcGVuZCI6IiIsInJlc3VsdHNBcHBlbmQi
    OiIiLCJxdWVyeUJ1aWxkZXJzIjpbXSwicmVzdWx0c0J1aWxkZXJzIjpbXSwiY29u
    ZmlnT3ZlcnJpZGVzIjpbXX0sInBhcnNlcnNDb25mUHJlc2V0cyI6eyJOZXQ6OkhU
    VFAiOnsibm9wcm94MiI6eyJ1c2VyLWFnZW50IjoiTW96aWxsYS80LjAgKGNvbXBh
    dGlibGU7IE1TSUUgNi4wOyBXaW5kb3dzIE5UIDUuMTsgU1YxKSIsInF1ZXJ5Zm9y
    bWF0IjoiJHF1ZXJ5IiwiaGVhZGVycyI6IiIsImJyb3dzZXIiOmZhbHNlLCJnb29k
    Q29kZSI6IiIsImRvX2d6aXAiOnRydWUsImJvZHkiOiIiLCJ0aW1lb3V0IjoiMTIi
    LCJtZXRob2QiOiJHRVQiLCJ1c2Vwcm94eSI6ZmFsc2UsIm9ubHloZWFkZXJzIjpm
    YWxzZSwiY29va2llcyI6IiIsInByb3h5cmV0cmllcyI6IjIiLCJyZXF1ZXN0ZGVs
    YXkiOiI0IiwicHJveHliYW5uZWRjbGVhbnVwIjoiMzAwIiwiZm9ybWF0cmVzdWx0
    IjoiJGNvZGUgJHJlYXNvblxcbiRoZWFkZXJzXFxuXFxuJGRhdGEiLCJkZXRlY3Rj
    aGFyc2V0IjpmYWxzZSwicmVjdXJzZSI6IjciLCJtYXhfc2l6ZSI6IjEwNDg1NzYi
    fX19fQ==
     
  12. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.795
    в сколько потоков выполняется парсинг?
     
  13. Bran

    Bran A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    31 авг 2013
    Сообщения:
    32
    Симпатии:
    3
    8000
     
  14. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.795
    ну в этом и причина, для такой задачи ставить больше 1000 вообще смысла нет, лучше в районе 500, парсинг же без прокси идет
     
  15. Bran

    Bran A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    31 авг 2013
    Сообщения:
    32
    Симпатии:
    3
    Почему нет смысла? Это не парсинг у меня, а чекер.
    При 8к у меня выдет 26к/мин, а при 1к - всего 8к/мин. Смысл, как бы, очевиден.

    Не получится никак устранить эту утечку памяти?:(
     
  16. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.795
    это не утечка памяти, у тебя стоит лимит размера страницы 1 мб, т.е. 8000 потоков х 1мб = 8000 мб памяти ТОЛЬКО на хранение содержимого страниц, хотя в среднем каждый поток может использовать в 2-4 раза больше памяти чем размер буфера. если учесть что A-Parser под Linux может использовать не более 4гб памяти то вполне очевидно что он будет постоянно падать в такой конфигурации

    разница в скорости скорее всего мнимая, связана с огромным числом ошибок из за перегрузки парсера по процессору\каналу\днс и т.п.
     
    Support нравится это.
  17. Bran

    Bran A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    31 авг 2013
    Сообщения:
    32
    Симпатии:
    3
    А если я поставлю лимит, например, 100кб? Но большое число потоков выставлю, это решит проблему?
    И еще, если лимит 100кб, а старница весит 200кб, он загрузит только часть или вообще не скачает?
     
  18. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    4.547
    Симпатии:
    2.164
    Если установите маленький лимит, страницы с большим размером будут загружаться не полностью.
     
    Bran нравится это.
  19. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.795
    загрузит часть, судя по пресету идет анализ страницы на наличие переменных, скорее всего этот скрипт располагается в начале страниц и лимит можно сократить до 10кб

    но даже в этом случае 8000 потоков может быть неоправданно много, необходимо сравнивать следующие показатели
    • загрузка 1 ядра CPU процессом апарсера
    • загрузка канала
    • скорость парсинга
    • количество ошибок парсинга
    провести тесты на разном числе потоков: 1k, 2k, 4k, 5k
     
    Support и Bran нравится это.
  20. Bran

    Bran A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    31 авг 2013
    Сообщения:
    32
    Симпатии:
    3
    Я поставил всего 500 потоков. Но парсер все равно умирает. Различие лишь в том что это происходит позже.
    Если 5к ~ 8ч.
    В случае с 2к ~ 12ч.
    При 500 потоках:
    Код:
    Jan 13 15:51:30.99653 parser started
    Jan 13 15:51:31.68891 starting task 5
    Jan 13 15:51:34.49398 loading before not loaded iterator
    Jan 13 15:51:34.51673 resuming queries/alldomains2.txt at 6639260 line
    Out of memory!
    Jan 15 21:25:07.58431 [Master] end called, pid 14233
    DESTROY created new reference to dead object 'Parser::Child::ResultsProcessor' during global destruction.
    Jan 15 21:25:08.17426 [Template of 14233] exit called, pid 14234
    OK, BYE!  |  at (eval 299) line 1.
    OK, BYE!  |  at (eval 299) line 1.
    OK, BYE!  |  at (eval 299) line 1.
    OK, BYE!  |  at (eval 299) line 1.
    OK, BYE!  |  at (eval 299) line 1.
    Jan 15 21:25:08.17987 [Worker/14254] end called, pid 14254
    OK, BYE!  |  at (eval 299) line 1.
    OK, BYE!  |  at (eval 299) line 1.
    Jan 15 21:25:08.17975 [Worker/14245] end called, pid 14245
    OK, BYE!  |  at (eval 299) line 1.
    Jan 15 21:25:08.18006 [Worker/14258] end called, pid 14258
    OK, BYE!  |  at (eval 299) line 1.
    Jan 15 21:25:08.17981 [Worker/14241] end called, pid 14241
    OK, BYE!  |  at (eval 299) line 1.
    Jan 15 21:25:08.18051 [Worker/14248] end called, pid 14248
    OK, BYE!  |  at (eval 299) line 1.
    OK, BYE!  |  at (eval 299) line 1.
    Jan 15 21:25:08.18092 [Worker/14257] end called, pid 14257
    Jan 15 21:25:08.18124 [Worker/14259] end called, pid 14259
    OK, BYE!  |  at (eval 299) line 1.
    Jan 15 21:25:08.18114 [Worker/14249] end called, pid 14249
    Jan 15 21:25:08.18126 [Worker/14253] end called, pid 14253
    Jan 15 21:25:08.18181 [Worker/14252] end called, pid 14252
    OK, BYE!  |  at (eval 299) line 1.
    Jan 15 21:25:08.18103 [Worker/14260] end called, pid 14260
    OK, BYE!  |  at (eval 299) line 1.
    OK, BYE!  |  at (eval 299) line 1.
    Jan 15 21:25:08.18216 [Worker/14242] end called, pid 14242
    OK, BYE!  |  at (eval 299) line 1.
    Jan 15 21:25:08.18386 [Worker/14251] end called, pid 14251
    Jan 15 21:25:08.18182 [Worker/14256] end called, pid 14256
    OK, BYE!  | Connection reset by peer at (eval 299) line 1.
    Jan 15 21:25:08.18403 [Worker/14247] end called, pid 14247
    Jan 15 21:25:08.18376 [Worker/14250] end called, pid 14250
    OK, BYE!  |  at (eval 299) line 1.
    Jan 15 21:25:08.18519 [Worker/14244] end called, pid 14244
    Jan 15 21:25:08.18604 [Worker/14246] end called, pid 14246
    OK, BYE!  |  at (eval 299) line 1.
    Jan 15 21:25:08.18663 [Worker/14243] end called, pid 14243
    Jan 15 21:25:08.18732 [Worker/14255] end called, pid 14255
    Может проблема в регулярных выражениях?..
     

Поделиться этой страницей