Страница 1 из 2

Автоматическая синхронизация Desktop части с Cloud

Добавлено: 27 сен 2011, 12:03
Kollipso
Решение покажется кому-то элементарным, но иногда и для элементарных вещей надо выделять время.

Листая мануал по программе добрел до самого конца и увидел в числе прочих функций информацию о командной строке. Не буду вдваться в подробности (кому интересно может почитать мануал), но в итоге родилась задача в Планировщике задач, которая раз в 10 минут (есть и другие диапазоны) "жмет F9" (на самом деле запускает соответствующую командную строку) тем самым избавляя меня от "задачи" помнить об этом и нажимать "Синхронизировать". Кому интересно, то может воспользовать примером (т.е. импортировать в Панель управления-Администрирование-Планировщик задач-Импорт задачи) и донастроить под себя:
1. Путь к исполняемому файлу MLO.exe
2. Путь к файлу с данными *.ml
3. Частота повторения

Re: Автоматическая синхронизация Desktop части с Cloud

Добавлено: 06 окт 2011, 08:46
savchenkov
Kollipso, помогите, пожалуйста!

В Task Scheduler импортировал, права пользователя поменял, пути переписал. Все запускается нормально.
Но теперь каждые 10 минут у меня в запущенных процессх появляется +1 mlo.exe. Сейчас их уже больше десятка ;-).
Игры в самой MLO с параметром "allow multiple instances" не помогли.
В Task Scheduler в Properties задачи на закладке Settings в левом нижнем углу есть вопрос какое правило использовать, если задача уже запущена.
Если выбрать "Не запускать новый экземпляр", то шедулер задачу не запускает - пишет ошибку - "такая же задача уже запущена"
Если выбрать "Новый экземпляр в параллель", то возникают "паразитные" запущенные процессы mlo.exe как будто опция "-console" в командной строке не отрабатывает.

Как настроено у Вас?

Операционка Win 7 64-bit.

Re: Автоматическая синхронизация Desktop части с Cloud

Добавлено: 06 окт 2011, 09:16
Kollipso
savchenkov
У меня в самые первые запуски тоже были проблемы, правда они были в десктопной части - вылетали ошибки доступа к файлу. Но потом все само исчезло :)

Пока не наладите работу самой командной строки по синхронизации запускать в повторе нет смысла. Попробуйте начать с запуска синхронизации из командной строки. Если команда прошла успешно (у меня она работает и при запущенной десктопной части, там же можно посмотреть время с предыдущей синхронизации Файл-Синхронизация), то можно переходить к планировщику задач: запустить задачу из него вручную и посмотреть на результат. Процесс mlo.exe так же должен исчезнуть по завершении из активных процессов. Если все нормально, то можно ставить на автозапуск.

Предлагаю убить через Task Manager mlo.exe что был запущен планировщиком и запустить ее из планировщика вручную (т.е. убедиться, что никто в текущий момент не пытается провести синхзронизацию или висит на выполнении этой функции). Далее смотреть по результатам. Если прошло, то донастраиваем задачу так (как у меня):
Параметры задачи в планировщике
1. Разрешать выполнение задачи по требованию - отметка
2. Немедленно запускать задачу, если пропущен плановый запуск - отметка
3. При сбое выполнения перезапускать через 1мин, количество попыток 3 - отметка
4. Останавливать задачу, выполняемую дольше 1ч - отметка
5. Принудительная остановка задачи, если она не прекращается по запросу - отметка
6. Если повтор задачи не запланирован, удалять через - отметки нет.
7. Если задача уже выполняется, то применять правило - Не запускать новый экземпляр.

Еще гляньте параметры безопасности на первой закладке задачи - у меня стоит Выполнять только для зарегистрированного пользователя. Выполнить с наивысшими правами - отметки нет.

Возможно может мешать работе десктопная часть, можно тогда на время экспериментов ее убрать. Ну и логи читать после запуска задачи. Будут проблемы - приложите часть лога последней работы.

Re: Автоматическая синхронизация Desktop части с Cloud

Добавлено: 10 окт 2011, 19:37
savchenkov
Несколько десятков экспериментов пока показывают магию.
Запуск из командной строки иногда отрабатывает, иногда - нет. Запуск из Task Scheduler - иногда да, иногда нет.
100% зависимости я пока найти не смог.
Причем ошибки могут быть разные - от простого мультиплицирования количества процессов mlo.exe до ошибки "такое задание уже запущено".
Грешил на то, что два параллельных запущенных экземрляра mlo не могут открыть один и тот же файл с базой, но, вроде, дело и не в этом.
Андрей, скажите, пожалуйста, как устоена логика синхронизации с параметром -console в случае, когда задача поменялась с ОБЕИХ сторон?
Т.е. когда я синхронизирую такие задачи и пользовательский интерфейс включен - я получу окно с вопросом Remote или Local data нужно перезаписывать.
А если такой же конфликт происходит, когда mlo запущено в режиме командной строки?
Аналогичный вопрос - что произойдет, если я запущу mlo из командной строки, а у меня будут сработавшие напоминания, которые нужно показать на экране?
Есть подозрение, что все мои беды с автоматизацией процесса кроются именно в том, что MLO, будучи запущенной из командной строки, ждет от меня каких-то действий, которые я совершить не могу, т.к. собственно самого интерфейса на экране нет.

Re: Автоматическая синхронизация Desktop части с Cloud

Добавлено: 02 ноя 2011, 12:59
savchenkov
Корень проблемы с множественными mlo.exe, запущенными через Task Scheduler и висящими в памяти, обнаружен.
В Task Sched есть настройка с какими правами пользователя запускать задачу - когда пользователь logged on или всегда.
Если поставить "всегда" - старые процессы не закрываются и открываются новые.
Если поставить, что задача запускается только когда пользователь залогинен в систему - все нормально - в памяти всегда один процесс (два в момент когда GUI MLO открыт + процесс на синхронизацию в фоне).

MLO 3.6.1, eng.
Win 7, 64-bit, eng

Re: Автоматическая синхронизация Desktop части с Cloud

Добавлено: 05 мар 2012, 14:53
LanStateMap
Спасибо за костыль, как временное решение сгодится...

Re: Автоматическая синхронизация Desktop части с Cloud

Добавлено: 20 июл 2012, 13:38
IIvanych
Kollipso, спасибо за реализацию нужной функции.

И.

Re: Автоматическая синхронизация Desktop части с Cloud

Добавлено: 26 авг 2012, 23:07
Gramym
У меня при запуске программы вылетает ошибка "Файл не найден: c:\Tasks.ml"
У меня на ПК нет файла "Tasks.ml". Он должен быть? Если да, скиньте его, пожалуйста, сюда.
Или.... я чего-то не понимаю....

Re: Автоматическая синхронизация Desktop части с Cloud

Добавлено: 27 авг 2012, 03:20
sakontwist
Файл ml собственно и есть база с Вашими задачами. Какой файл вы синхронизируете в таком случае?

Re: Автоматическая синхронизация Desktop части с Cloud

Добавлено: 27 авг 2012, 05:19
IIvanych
Приветствую.

Gramym писал(а):У меня при запуске программы вылетает ошибка "Файл не найден: c:\Tasks.ml"
У меня на ПК нет файла "Tasks.ml". Он должен быть? Если да, скиньте его, пожалуйста, сюда.
Или.... я чего-то не понимаю....


Читайте первый пост: "...
Kollipso писал(а):и донастроить под себя:
1. Путь к исполняемому файлу MLO.exe
2. Путь к файлу с данными *.ml
3. Частота повторения


- п. 2. вместо "c:\Tasks.ml" укажите путь и название Вашего файла данных *.ml

Удачи.