Баги в экшене "Принять почту" помогите кто чем может!!!

irving zisman

Client
Регистрация
18.05.2017
Сообщения
225
Благодарностей
28
Баллы
28
Очень странная ситуация, в настройках экшена стоит ожидание письма 15;35 секунд, но по факту почта может приниматься намного больше, вплоть до 30 минут. При чем такое происходит не всегда, а как-то рандомно. Кол-во потоков ни как не влияет, домен почты тоже не причем.


Настройки эшена "Принять поту"


А это лог в ZP. В скобочках указано начало выполнения шаблона



P.S. Еще один интересный момент, когда оттачиваю шаблон в PM такой глюк тоже иногда происходит, выполнение экшена длится очень долго, даже кнопка стоп не помогает, приходится перезапускать PM

Версия PRO 5.11.4.0
 

z@jivalo

Client
Регистрация
27.12.2016
Сообщения
800
Благодарностей
179
Баллы
43
вчера работал с экшеном почта, все норм получаю почту от @mail.ru через прокси.
В течение 5-8 сек приходит
 

irving zisman

Client
Регистрация
18.05.2017
Сообщения
225
Благодарностей
28
Баллы
28
вчера работал с экшеном почта, все норм получаю почту от @mail.ru через прокси.
В течение 5-8 сек приходит
Да, если письмо приходит то все ок, но у меня такой проект, что письма могут не приходить от сайта вообще, и вот тут начинаются проблемы, ожидание письма выходит за рамки.
 

z@jivalo

Client
Регистрация
27.12.2016
Сообщения
800
Благодарностей
179
Баллы
43
Так нужно грешить на тот сайт от него ведь не приходят письма
 

Mahno

Client
Регистрация
16.05.2015
Сообщения
440
Благодарностей
94
Баллы
28
Такого не было, поиграйся с интервалами загрузки, у меня лишь вылетал PM когда я искал письмо и жал "далее"
 

irving zisman

Client
Регистрация
18.05.2017
Сообщения
225
Благодарностей
28
Баллы
28
Так нужно грешить на тот сайт от него ведь не приходят письма
Вы меня не поняли, проблема не в том что письмо не приходит, а в том что интервалы ожидания письма не соблюдаются!!! Понимаете? Если я прописываю 15;35 в настройках, это означает что зенка будет проверять почту через 15 секунд после запуска экшена, если письмо не найдено то проверит еще раз через 35 секунд, если снова не найдено, проект завершается! Но он не завершается а ждет письмо дальше, 10 минут, 20 минут, и так пока я не остановлю принудительно.

Повторюсь такое происходит рандомно, не каждый раз, но вызывает дикие неудобства, поток висит в процессах и сжирает ресурсы пк!
 

irving zisman

Client
Регистрация
18.05.2017
Сообщения
225
Благодарностей
28
Баллы
28
Такого не было, поиграйся с интервалами загрузки, у меня лишь вылетал PM когда я искал письмо и жал "далее"
Пробовал разные интервалы выставлять, не помогает. Сейчас сижу на си шарпе пытаюсь написать, хотя вообще не шарю в нем
 

Mahno

Client
Регистрация
16.05.2015
Сообщения
440
Благодарностей
94
Баллы
28
  • Спасибо
Реакции: irving zisman

irving zisman

Client
Регистрация
18.05.2017
Сообщения
225
Благодарностей
28
Баллы
28

DmitryAk

Client
Регистрация
14.12.2016
Сообщения
860
Благодарностей
824
Баллы
93
Такой вопрос чуть в сторону, а в логах что пишется по этому поводу?
Глянуть можно примерно по следующим путям :
ZennoLab\RU\ZennoPoster Pro\5.11.4.0\Progs\Logs\executionLog.txt
и
ZennoLab\RU\ZennoPoster Pro\5.11.4.0\Progs\Logs\nonCriticalErrors.txt
 

z@jivalo

Client
Регистрация
27.12.2016
Сообщения
800
Благодарностей
179
Баллы
43
Повторюсь такое происходит рандомно, не каждый раз, но вызывает дикие неудобства, поток висит в процессах и сжирает ресурсы пк!
логику работу с почтой вам надо менять, добавить циклы и проверки.
После первого прогона почты. например поставить тайм потом опять запустить кубик почта, в коде шарпа это будет выглядеть симпатичней.
 

irving zisman

Client
Регистрация
18.05.2017
Сообщения
225
Благодарностей
28
Баллы
28
Такой вопрос чуть в сторону, а в логах что пишется по этому поводу?
Глянуть можно примерно по следующим путям :
ZennoLab\RU\ZennoPoster Pro\5.11.4.0\Progs\Logs\executionLog.txt
и
ZennoLab\RU\ZennoPoster Pro\5.11.4.0\Progs\Logs\nonCriticalErrors.txt
Почему то раньше у меня не хватило мозгов открыть второй файл с логом, а там ...

2017-08-03 13:08:20.9423|Error in TracingListener.OnDataAvailable|System.OutOfMemoryException: Недостаточно памяти для продолжения выполнения программы.
в Gecko.Interfaces.nsIBinaryOutputStream.WriteByteArray(Byte[] aBytes, UInt32 aLength)
в CqcdZsbqA6eSbtqvZkh.dZdqdebDfhYblJ92nKs.R7MelAaBTEvFXD9bLUoB(Object , Object , UInt32 )
в CqcdZsbqA6eSbtqvZkh.dZdqdebDfhYblJ92nKs.E4D58XUow2J(nsIRequest , nsISupports )

Спасибо вам! Видимо проблема в нехватке ресурсов, 8гб оперативы не хватает, пойду докупать.
 

irving zisman

Client
Регистрация
18.05.2017
Сообщения
225
Благодарностей
28
Баллы
28
Но диспетчер устройств показывает что 35% памяти всего занято, почему в логе пишется такое?
 

DmitryAk

Client
Регистрация
14.12.2016
Сообщения
860
Благодарностей
824
Баллы
93

irving zisman

Client
Регистрация
18.05.2017
Сообщения
225
Благодарностей
28
Баллы
28
Не факт.. надо смотреть что в логе пишет именно в тот момент (или после) зависания кубика почты.
Вот сейчас зависло два последних потока , висят минут 20 точно, сразу иду в лог, там пишется о нехватки памяти, но в диспетчере задач занято 35%. Помимо нехватки памяти в логе еще что-то для меня непонятное. ниже прикрепил

Код:
2017-08-03 13:20:22.5282|Error in TracingListener.OnDataAvailable|System.OutOfMemoryException: Недостаточно памяти для продолжения выполнения программы.
   в Gecko.Interfaces.nsIBinaryOutputStream.WriteByteArray(Byte[] aBytes, UInt32 aLength)
   в CqcdZsbqA6eSbtqvZkh.dZdqdebDfhYblJ92nKs.R7MelAaBTEvFXD9bLUoB(Object , Object , UInt32 )
   в CqcdZsbqA6eSbtqvZkh.dZdqdebDfhYblJ92nKs.E4D58XUow2J(nsIRequest  , nsISupports  )
2017-08-03 13:20:23.5282|Navigated to https://www.instagram.com/accounts/password/reset/done/[email protected]|
2017-08-03 13:22:22.2500|Ошибка при обращении к processors.WcfProcessor.Service.GetState(). Сообщение: Ошибка чтения из канала: Канал был закрыт. (109, 0x6d).. StackTrace:
Server stack trace:
   в System.ServiceModel.Channels.StreamConnection.Read(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout)
   в System.ServiceModel.Channels.SessionConnectionReader.Receive(TimeSpan timeout)
   в System.ServiceModel.Channels.SynchronizedMessageSource.Receive(TimeSpan timeout)
   в System.ServiceModel.Channels.TransportDuplexSessionChannel.Receive(TimeSpan timeout)
   в System.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceive(TimeSpan timeout, Message& message)
   в System.ServiceModel.Dispatcher.DuplexChannelBinder.Request(Message message, TimeSpan timeout)
   в System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   в System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   в System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
   в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   в CommonTypes.ICheckingProcessor.GetState()
   в ProxyChecker2.Managers.ProxyCheckingManager.FaD7LN2wnnAFx5JUU7kC(Object )
   в ProxyChecker2.Managers.ProxyCheckingManager.Ci79aji7GrC()|
2017-08-03 13:22:22.2560|WcfKeeper: Reinit CommonTypes.ICheckingProcessor|
2017-08-03 13:22:22.2560|WcfKeeper: Reinit start |
2017-08-03 13:22:22.2560|WcfKeeper: Reinit BeforeConnect |
2017-08-03 13:22:22.2700|WcfKeeper: Reinit couldnt find process by id 8800|
2017-08-03 13:22:22.2700|WcfHelper: Run C:\Program Files (x86)\ZennoLab\RU\ZennoPoster Pro\5.11.4.0\Progs\CheckingProcessor.exe and ConnectService net.pipe://localhost/PC402672650/Worker402672650|
2017-08-03 13:22:22.2700|WcfHelper: RunProcess C:\Program Files (x86)\ZennoLab\RU\ZennoPoster Pro\5.11.4.0\Progs\CheckingProcessor.exe|
2017-08-03 13:22:22.2860|WcfHelper: Try to start process, left attempts 3|
2017-08-03 13:22:23.0370|WcfHelper: CreateHost /PC402672650|
2017-08-03 13:22:25.2970|WcfHelper: CreateChannel net.pipe://localhost/PC402672650/Worker402672650|
2017-08-03 13:22:25.3010|WcfHelper: Try to connect to channel, left attempts 6|
2017-08-03 13:22:25.3190|WcfHelper: Connection succesfull|
2017-08-03 13:22:25.3190|WcfHelper: Run C:\Program Files (x86)\ZennoLab\RU\ZennoPoster Pro\5.11.4.0\Progs\CheckingProcessor.exe and ConnectService net.pipe://localhost/PC402672650/Worker402672650 Result = True|
2017-08-03 13:22:25.3190|Process 8800 restart to 11984, service type is CommonTypes.ICheckingProcessor|
2017-08-03 13:22:25.3340|WcfKeeper: Reinit AfterConnect |
2017-08-03 13:22:25.3340|OnAfterConnect Checking process started|
2017-08-03 13:22:25.3480|OnAfterConnect Info has been sent|
2017-08-03 13:22:25.3650|OnAfterConnect Rules has been checked|
2017-08-03 13:22:26.3901|processors count = 1, need count = 0|
2017-08-03 13:22:57.5408|Using timeoute 60000 for http://userarea.zennolab.com/Binary/KeepAlive.aspx|
2017-08-03 13:28:38.1944|Using timeoute 60000 for http://userarea.zennolab.com/Binary/KeepAlive.aspx|
 

DmitryAk

Client
Регистрация
14.12.2016
Сообщения
860
Благодарностей
824
Баллы
93
Детально только разрабы ответят. Там из-за какой-то внутренней ошибки целый сервис крашится.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 913
Баллы
113
В настройках программы попробуйте поставить кол-во потоков в одном процессе равное 1.
Кол-во потоков в одном процессе.png
 

irving zisman

Client
Регистрация
18.05.2017
Сообщения
225
Благодарностей
28
Баллы
28

irving zisman

Client
Регистрация
18.05.2017
Сообщения
225
Благодарностей
28
Баллы
28
В настройках программы попробуйте поставить кол-во потоков в одном процессе равное 1.
Посмотреть вложение 22473
Методом проб и ошибок выявил, что при 10 потоках более менее стабильно работает шаблон, и то, сейчас осталось 3 последних выполнения и они просто зависли.
Если поставить больше потоков, стабильности хватает на 30 минут, далее время выполнения 1 потока становить все больше и больше, в начале примерно за 5 мин выполняется поток, со временем может растянуться до 15. Складывается впечатление что не хватает мощности пк, но прежде чем идти покупать сервер, хотелось бы все узнать мнение от админов и разработчиков, в чем конкретно все же проблема. Надеюсь на вашу поддержку!

На всякий случай хар-ки пк: AMD fx-6300, ddr3-8gb, hdd 1tb
 

irving zisman

Client
Регистрация
18.05.2017
Сообщения
225
Благодарностей
28
Баллы
28
P.S. Последние 3 потока все таки выполнились, но время их выполнения составило 1 час 24 минуты, 1 час 52 минуты и 1 час 02 минуты, когда выполниться все должно было в течении 5-7 минут. Зависания происходили исключительно на экшене "Принять почту"

 

irving zisman

Client
Регистрация
18.05.2017
Сообщения
225
Благодарностей
28
Баллы
28

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 913
Баллы
113
Вы можете еще чем то помочь?
Вы уверены что у вас настройки корректны, что регулярка не парсит долгое время полный код письма? Проблема воспроизводится только в одном конкретном шаблоне или в других тоже принятие почты виснет?
 

irving zisman

Client
Регистрация
18.05.2017
Сообщения
225
Благодарностей
28
Баллы
28
Вы уверены что у вас настройки корректны, что регулярка не парсит долгое время полный код письма? Проблема воспроизводится только в одном конкретном шаблоне или в других тоже принятие почты виснет?
У меня только 1 шаблон который работает с почтой. Не в регулярках дело точно, т.к иногда письмо от сервиса не приходит вообще, а экшн его ищет минут 10-15, бывает даже больше, хотя интервалы поиска письма стоят 15;35 секунд
 

z@jivalo

Client
Регистрация
27.12.2016
Сообщения
800
Благодарностей
179
Баллы
43
а экшн его ищет минут 10-15, бывает даже больше,
думаю тогда вам надо попробовать писать на с# всю логику кубика почты.
Нажмите правой кнопкой на кубике почта конвертировать в с# и дальше уже вот поможет wiki MailConfirm

Сам код вроде не сильно сложный

Код:
var result = ZennoPoster.MailConfirm("5;15;30", project.Variables["email"].Value, project.Variables["email_pass"].Value, "imap.mail.ru",
    993, true, false, true, false, @"(.*\/confirm.*)", @"", 0);
 

irving zisman

Client
Регистрация
18.05.2017
Сообщения
225
Благодарностей
28
Баллы
28
думаю тогда вам надо попробовать писать на с# всю логику кубика почты.
Нажмите правой кнопкой на кубике почта конвертировать в с# и дальше уже вот поможет wiki MailConfirm

Сам код вроде не сильно сложный

Код:
var result = ZennoPoster.MailConfirm("5;15;30", project.Variables["email"].Value, project.Variables["email_pass"].Value, "imap.mail.ru",
    993, true, false, true, false, @"(.*\/confirm.*)", @"", 0);
Спасибо, вот только вчера построил на с# сегодня буду обкатывать
 

z@jivalo

Client
Регистрация
27.12.2016
Сообщения
800
Благодарностей
179
Баллы
43
если у вас акк с разных почт, тут нужно писать много условий что бы сервера imap или pop3 сами подставлялись
 

irving zisman

Client
Регистрация
18.05.2017
Сообщения
225
Благодарностей
28
Баллы
28

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 913
Баллы
113
У меня только 1 шаблон который работает с почтой. Не в регулярках дело точно, т.к иногда письмо от сервиса не приходит вообще, а экшн его ищет минут 10-15, бывает даже больше, хотя интервалы поиска письма стоят 15;35 секунд
Я все-таки прошу шаблон, т.к. думаю что дело здесь не в интервалах и не в С#, а в логике работы.
 

irving zisman

Client
Регистрация
18.05.2017
Сообщения
225
Благодарностей
28
Баллы
28

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 913
Баллы
113

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)