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

irving zisman

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


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


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



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

Версия PRO 5.11.4.0
 
вчера работал с экшеном почта, все норм получаю почту от @mail.ru через прокси.
В течение 5-8 сек приходит
 
вчера работал с экшеном почта, все норм получаю почту от @mail.ru через прокси.
В течение 5-8 сек приходит

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

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

Повторюсь такое происходит рандомно, не каждый раз, но вызывает дикие неудобства, поток висит в процессах и сжирает ресурсы пк!
 
Такого не было, поиграйся с интервалами загрузки, у меня лишь вылетал PM когда я искал письмо и жал "далее"

Пробовал разные интервалы выставлять, не помогает. Сейчас сижу на си шарпе пытаюсь написать, хотя вообще не шарю в нем
 
Такой вопрос чуть в сторону, а в логах что пишется по этому поводу?
Глянуть можно примерно по следующим путям :
ZennoLab\RU\ZennoPoster Pro\5.11.4.0\Progs\Logs\executionLog.txt
и
ZennoLab\RU\ZennoPoster Pro\5.11.4.0\Progs\Logs\nonCriticalErrors.txt
 
Повторюсь такое происходит рандомно, не каждый раз, но вызывает дикие неудобства, поток висит в процессах и сжирает ресурсы пк!
логику работу с почтой вам надо менять, добавить циклы и проверки.
После первого прогона почты. например поставить тайм потом опять запустить кубик почта, в коде шарпа это будет выглядеть симпатичней.
 
Такой вопрос чуть в сторону, а в логах что пишется по этому поводу?
Глянуть можно примерно по следующим путям :
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гб оперативы не хватает, пойду докупать.
 
Но диспетчер устройств показывает что 35% памяти всего занято, почему в логе пишется такое?
 
Не факт.. надо смотреть что в логе пишет именно в тот момент (или после) зависания кубика почты.

Вот сейчас зависло два последних потока , висят минут 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/?cp=semsvetika@yandex.ru|
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|
 
В настройках программы попробуйте поставить кол-во потоков в одном процессе равное 1.
Кол-во потоков в одном процессе.png
 
В настройках программы попробуйте поставить кол-во потоков в одном процессе равное 1.
Посмотреть вложение 22473

Методом проб и ошибок выявил, что при 10 потоках более менее стабильно работает шаблон, и то, сейчас осталось 3 последних выполнения и они просто зависли.
Если поставить больше потоков, стабильности хватает на 30 минут, далее время выполнения 1 потока становить все больше и больше, в начале примерно за 5 мин выполняется поток, со временем может растянуться до 15. Складывается впечатление что не хватает мощности пк, но прежде чем идти покупать сервер, хотелось бы все узнать мнение от админов и разработчиков, в чем конкретно все же проблема. Надеюсь на вашу поддержку!

На всякий случай хар-ки пк: AMD fx-6300, ddr3-8gb, hdd 1tb
 
P.S. Последние 3 потока все таки выполнились, но время их выполнения составило 1 час 24 минуты, 1 час 52 минуты и 1 час 02 минуты, когда выполниться все должно было в течении 5-7 минут. Зависания происходили исключительно на экшене "Принять почту"

vVR--ddMrYc.jpg
 
Вы можете еще чем то помочь?
Вы уверены что у вас настройки корректны, что регулярка не парсит долгое время полный код письма? Проблема воспроизводится только в одном конкретном шаблоне или в других тоже принятие почты виснет?
 
Вы уверены что у вас настройки корректны, что регулярка не парсит долгое время полный код письма? Проблема воспроизводится только в одном конкретном шаблоне или в других тоже принятие почты виснет?

У меня только 1 шаблон который работает с почтой. Не в регулярках дело точно, т.к иногда письмо от сервиса не приходит вообще, а экшн его ищет минут 10-15, бывает даже больше, хотя интервалы поиска письма стоят 15;35 секунд
 
а экшн его ищет минут 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);
 
думаю тогда вам надо попробовать писать на с# всю логику кубика почты.
Нажмите правой кнопкой на кубике почта конвертировать в с# и дальше уже вот поможет 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);

Спасибо, вот только вчера построил на с# сегодня буду обкатывать
 
если у вас акк с разных почт, тут нужно писать много условий что бы сервера imap или pop3 сами подставлялись
 
У меня только 1 шаблон который работает с почтой. Не в регулярках дело точно, т.к иногда письмо от сервиса не приходит вообще, а экшн его ищет минут 10-15, бывает даже больше, хотя интервалы поиска письма стоят 15;35 секунд
Я все-таки прошу шаблон, т.к. думаю что дело здесь не в интервалах и не в С#, а в логике работы.
 

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