Author Topic: И снова про Таскер и приход нескольких писем одновременно....  (Read 6373 times)

lvovich

  • Newbie
  • *
  • Posts: 5
Константин, добрый день. Спасибо за качественный софт:).

Аналогичная тема уже есть в англоязычной части http://www.aqua-mail.com/forum/index.php?topic=4476.msg24909#msg24909 [nofollow], но простого решения для таскера там так и нет.

А очень бы хотелось анализировать в таскере каждое приходящее письмо по каким-то простым, но для конкретного случая важным критериям.

Из упомянутой темы понятно, что таскер будет получать одно уведомление (читай - профиль будет активироваться один раз) в случае одновременного прихода многих писем из-за (во всяком случае текущих) ограничений реализации взаимодействия плагинов и собственно таскера.

Вопрос-предложение: возможно ли при активации профиля передавать еще одну переменную - кол-во пришедших писем (читай - писем, которых касается это уведомление, новых писем), а переменные касающиеся собственно письма (от, кому, тема, время и т.п.) передавать в виде массивов? Это бы решило все проблемы анализа, не меняя прицип "одно уведомление - одна активация профиля". При этом для особых случаев можно ввести какое-то разумное ограничение (параметр настройки?) на кол-во писем про которые передается информация. Не думаю что при регулярной проверке почты это кого-то напряжет в реальной жизни.

Совсем-совсем в идеале еще передавать какой-то идентификатор письма, на основании которого можно было бы потом через тот же плагин делать какие-то действия с письмом - начиная от простого "пометить как прочтенное", заканчивая, например, пересылкой.... Да, конечно без реализации активации профиля по каждому письму или как написано выше - через масссивы - это смысла не имеет...

Спасибо!

Kostya Vasilyev

  • Hero Member
  • *****
  • Posts: 12740
Плагин передаёт тему, отправителя, и тому подобное.

То что несколько "соответствующих" писем вызывают одно событие -- связано с тем как в Tasker устроены "event plugins".

Можно было бы и на каждое, но там может возникнуть проблема производительности.

Действия над сообщениями не планируются, идентификаторы тоже -- мне не кажется разумным делать правила / фильтрацию писем через этот механизм. Практически у всех почтовых служб уже есть (правила / фильтры).

Для отправки каких-то ответов, мне кажется более разумным использовать службы автоматизации, скажем IFTTT (надеюсь, у них там есть работа с почтой, кажется есть).

К тому же функцию отправки, стоит её сделать, наверняка будет использовать какой-нибудь спамер, со всеми вытекающими (для меня).



Так что область применения довольно узкая - скажем у человека приходят какие-то приоритетные уведомления ("сервер упал"), и он себе играет какую-то громкую мелодию, типа вот этого...

Creating debug logs for diagnostics: https://www.aqua-mail.com/troubleshooting/

The official FAQ: https://www.aqua-mail.com/faq/

Лог-файлы для диагностики: https://www.aqua-mail.com/ru/troubleshooting/

Вопросы и ответы: https://www.aqua-mail.com/ru/faq/

lvovich

  • Newbie
  • *
  • Posts: 5
Ну собственно примерно для этого и надо :)

Про действия - понял (хотя "отметить как прочитанное" конечно хотелось бы :) ), но основная идея была именно в том чтобы передавать массив за одну активацию плагина, обойдя тем самым вот это:
Quote
То что несколько "соответствующих" писем вызывают одно событие -- связано с тем как в Tasker устроены "event plugins".

Можно было бы и на каждое, но там может возникнуть проблема производительности."

Kostya Vasilyev

  • Hero Member
  • *****
  • Posts: 12740
Да, я понимаю. Обсуждал это с автором Tasker-а, правда довольно давно, он собирался делать какую-то оптимизацию, но не знаю, сделал ли.

А почему не настроить фильтр прямо в самой почтовой службе?
Creating debug logs for diagnostics: https://www.aqua-mail.com/troubleshooting/

The official FAQ: https://www.aqua-mail.com/faq/

Лог-файлы для диагностики: https://www.aqua-mail.com/ru/troubleshooting/

Вопросы и ответы: https://www.aqua-mail.com/ru/faq/

lvovich

  • Newbie
  • *
  • Posts: 5
Фильтр - (почти) легко. Почти - потому что есть корпоративные сервера не с эксчем, а там фильтрация послабее. Плюс к этому некоторые сообщения которые надо анализировать требуют анализа, скажем так неочевидного дял фильтров эксча.
 
ОК, пусть фильтр настроен.

Далее - например, фильтром валим все о чем надо срочно сообщать в папку №1, о чем не надо - в папку №2.

Поставили "не уведомлять" в акве на папку №2 - ОК.

Но теперь надо поставить на письма в папке №1 сигнал "все пропало", а на остальную почту в этом аккаунте оставить обычное уведомление. Насколько я понимаю, сегодня в акве такого функционала нет. И если думать как его реализовать - то надо делать приоритеты (какое уведомление играть если пришло одновременно несколько писем в разные папки) и т. д и т.п. ...... - универсальное решение мне неочевидно. А в таскере каждый сделает как ему надо - и с анализом и с реакцией (уведомлением или даже автоматическим действием каким-то).

Kostya Vasilyev

  • Hero Member
  • *****
  • Posts: 12740
Re: Насколько я понимаю, сегодня в акве такого функционала нет

Да, верно.

Re: какое уведомление играть если пришло одновременно несколько писем в разные папки

Именно. Мне было бы несложно "добавить галочку", но вот логика этой галочки...



Я как бы в целом не против, но неясно что там в Таскере -- как уже писал, есть там определённая причина почему сейчас работает так как сейчас -- и где взять время.
Creating debug logs for diagnostics: https://www.aqua-mail.com/troubleshooting/

The official FAQ: https://www.aqua-mail.com/faq/

Лог-файлы для диагностики: https://www.aqua-mail.com/ru/troubleshooting/

Вопросы и ответы: https://www.aqua-mail.com/ru/faq/

lvovich

  • Newbie
  • *
  • Posts: 5
Ну с моей стороны, с которой разумеется "не все видно" :) могу предложить три неидеальных (разве что кроме первого) варианта решения на эту тему:
1. сделать одну активацию Таскера на несколько писем (как и сейчас), но передавать массивы переменных, как я и предлагал в начале темы. Вроде как в этом случае с быстродействием таскера проблем возникнуть не должно, там проблемы похоже только при множественных/частых активациях профиля случаются.
2. если делать обходной вариант - отвязываться от таскера - то разрешить на аккаунт одну и максимум одну папку с "приоритетными уведомлениями" - если хотя бы одно из новых писем в этой папке то действуют настройки уведомлений не аккаунта, а особые для этой папки. Речь именно про уведомления, которые делает аква, про таскер "забываем" вообще.
3. Из серии извращений - разрешить на любое кол-во папок особые уведомления, и обрабатывать их по очереди для каждой папки в которой есть новое письмо -- примерно как сейчас обрабатываются аккаунты - если новая почта есть в нескольких аккаунтах, то уведомления воспроизведутся по очереди (по мере проверки аккаунтов).
Получится музыкальная шкатулка :).....


Kostya Vasilyev

  • Hero Member
  • *****
  • Posts: 12740
В API принципиальная вещь -- что программа сообщает что "нечто могло измениться", а Таскер сам вызывает *все* настроенные фильтры и у каждого спрашивает "ну как, правда что-то произошло?"

Для автора Таскра это принципиально -- чтобы плагины не знали о том как они настроены пользователем (скажем, нет фильтров, или он один, или десять вот с такими параметрами).

Так что да, здесь просто так не подъедешь. И с массивами тоже не всё просто, там есть какие-то ограничения типов (кажется только массивы целых чисел, или наоборот, только строк, а всё остальное исчезает... уже напарывался...)
Creating debug logs for diagnostics: https://www.aqua-mail.com/troubleshooting/

The official FAQ: https://www.aqua-mail.com/faq/

Лог-файлы для диагностики: https://www.aqua-mail.com/ru/troubleshooting/

Вопросы и ответы: https://www.aqua-mail.com/ru/faq/

Kostya Vasilyev

  • Hero Member
  • *****
  • Posts: 12740
Про массивы.

Вы предлагаете, чтобы плагин возвращал МАССИВЫ переменных как сейчас %aqmsubject, то только массивы?

Я подумал, мне эта идея нравится, в принципе.

А есть ли какие-то другие плагины которые уже это делают? Как значения возврата?

Просто чтобы мне понять принципиальную возможность вернуть массив(ы).

PS - вот здесь написано, что массивы могут быть только из строк:

http://tasker.dinglisch.net/plugins.html

В общем, наверное, это нормально? Посмотрел свой код, там всё возвращается как строки, даже дата/время.

Так что остаётся вопрос про принципиальную возможность.

Ну и второй вопрос, что Вы думаете о таком подходе (с массивами).
« Last Edit: June 29, 2016, 11:29:07 pm by Kostya Vasilyev, Aqua Mail »
Creating debug logs for diagnostics: https://www.aqua-mail.com/troubleshooting/

The official FAQ: https://www.aqua-mail.com/faq/

Лог-файлы для диагностики: https://www.aqua-mail.com/ru/troubleshooting/

Вопросы и ответы: https://www.aqua-mail.com/ru/faq/

Kostya Vasilyev

  • Hero Member
  • *****
  • Posts: 12740
Creating debug logs for diagnostics: https://www.aqua-mail.com/troubleshooting/

The official FAQ: https://www.aqua-mail.com/faq/

Лог-файлы для диагностики: https://www.aqua-mail.com/ru/troubleshooting/

Вопросы и ответы: https://www.aqua-mail.com/ru/faq/

lvovich

  • Newbie
  • *
  • Posts: 5
Прошу прощения, что долго не отвечал,
да, речь именно о массивах, все так.
в том что это строки никаких проблем не вижу.
как только появится стабильная версия в гуглоплее - сразу потестирую, так как на телефоне вся рабочая почта, экспериментировать с "не-production" версией не могу.... один сбой и я без работы :) Попробую тестовую на втором телефоне может быть, с 5-м андроидом..
Спасибо за быструю реализацию идеи!!