АРМ в FossMail

Обсуждение работы программы Корпоративная электронная почта FossMail


vitalson27
Пользователь
Сообщения: 20
Зарегистрирован: 04 дек 2009, 20:25
2 + 2 = ?: 4

Re: АРМ в FossMail

Сообщение vitalson27 » 31 дек 2009, 11:15

скрипт не работает, в логе пишет то же самое.

FossWare
Пользователь
Сообщения: 380
Зарегистрирован: 19 дек 2008, 17:28

Re: АРМ в FossMail

Сообщение FossWare » 04 янв 2010, 14:18

скрипт не работает, в логе пишет то же самое.
Пришлите пожалуйста следующие вещи:
  • Сам скрипт (файл с расширением *.bas)
  • Логи работы программы exmon (находится в ..\FossMail32\Log файл с *ex.log) и самого скрипта (находятся в каталоге ..\Bin\Log)
  • Лог запуска скрипта (консольного окна). Как его получить - описано выше.
Требуемую информацию запакуйте архиватором и либо прикрепите к своему посту на форуме, либо отправьте на support@foss.kharkov.ua. Без подробной информации об ошибке очень тяжело сказать, что у Вас там происходит.

vitalson27
Пользователь
Сообщения: 20
Зарегистрирован: 04 дек 2009, 20:25
2 + 2 = ?: 4

Re: АРМ в FossMail

Сообщение vitalson27 » 06 янв 2010, 09:44

Добрый день. Я отправил архив foss.arj на support@foss.kharkov.ua

FossWare
Пользователь
Сообщения: 380
Зарегистрирован: 19 дек 2008, 17:28

Re: АРМ в FossMail

Сообщение FossWare » 06 янв 2010, 12:41

Я отправил архив
Спасибо, получили. Ваш скрипт у нас замечательно работает. Ошибку повторить не удалось. Делает ровно столько, на что был создан. И как системная задача и как отдельное приложение. Но Вы не прислали логи запуска задачи exmon (за текущий день, тот что Вы прислали был старый, нужно присылать логи за одно и тоже время создания, и именно на момент возникновения/проявления ошибки). Тест вашего скрипта проводился на Windows Server 2003 SP1. Более того их вашего лога запуска скрипта (скрин консольного окна) видно, что скрипт до команды

Код: Выделить всё

 _printf("Scan....")
доходит, но похоже дальше не идет или выходит в нештатном режиме, поэтому неплохо бы проверить, введите пожалуйста еще одну такую команду но после _Sleep(20000), т.е. в Вашем случае концовка скрипта будет выглядеть так:

Код: Выделить всё

 _printf("Scan....")
  _Sleep(20000)
 _printf("sc1")
endwhile
 _printf("endwhile")
exit
Полученный результат работы, пожалуйста, пришлите нам.

vitalson27
Пользователь
Сообщения: 20
Зарегистрирован: 04 дек 2009, 20:25
2 + 2 = ?: 4

Re: АРМ в FossMail

Сообщение vitalson27 » 06 янв 2010, 14:25

сделал, вот результат

header file name: fpkapi.fh
FpkAPI(v 4.0.1.31)
Scan....
sc1
а лог, exmona вообще перестал писаться, все остальные логи пишутся.

FossWare
Пользователь
Сообщения: 380
Зарегистрирован: 19 дек 2008, 17:28

Re: АРМ в FossMail

Сообщение FossWare » 06 янв 2010, 14:45

лог, exmona вообще перестал писаться, все остальные логи пишутся.
У Вас сервер Fossmail32 как служба работает или нет? Если как служба, то нужно править реестр, если как задача, то в ярлыке запуска - указать параметры логирования задачи exmon.
Т.е. исходя из этого, можно сделать вывод, что цикл был закончен и скрипт пошел на 2-й цикл, и что потом больше ничего не происходит?
Если нет, то тогда придется логировать каждый шаг скрипта и смотреть, на чем он сваливается. Пока предлагаю начать с основных блоков.

Код: Выделить всё

main:


   P_DL := "......./PN:POSTMASTER"
                        //адрес отправител

 _printf("Sc1")

   QUEUEDir := "d:\fossmail32\QUEUE"  //папка в которую будут помещаться ФПК

//  _SetXUnPackRewriteMode(0)     //1-при распаковке одноименные файлы переименовываютс
                                //0-распаковка ФПК откладыаетс
                                //2-при распаковке одноименные файлы перезаписываютс
 _printf("Sc2")
   call ImportDLL


 _printf("Sc3")
//инициализаци
  _SetXPackerOutTmpDir("OutTmpDir") //папка для хранения фпк ждущих отчет
  _SetSelfAdr(P_DL)             //адрес отправителя для упаковываемых файлов
  _SetXPackerQUEUEDir(QUEUEDir) //Директория входящих ФПК узла FossMail32
  _SetXPackLogDir("LOG")        //Если не вызывать ф-цию лог файл не ведетс
  _SetXPackRepType(1)           //тип отчета для упаковываемых файлов
                                //1-FROM ROUTER
                                //2-FROM FSHELL
                                //3-BOTH
  _SetXUnPackRewriteMode(0)     //1-при распаковке одноименные файлы переименовываютс
                                //0-распаковка ФПК откладыаетс
                                //2-при распаковке одноименные файлы перезаписываютс
  _SetXPackerDeliver_UnDeliverDir("Deliver","UnDeliver")
  _SetXPackerBadDir("Bad")
  //_LoadXPackerDat("XPACKER.DAT")      //Если не вызывать ф-цию будет автоматически
                                //произведена попытка поднять файл "XPACKER.DAT"
                                //в текущей директории
  //_SetXPackerMsk("XXXX----.---")  //Маска по умолчанию

  //_SetFPKPriorityLevel(2)
  _SetXPackMaxFNum(1)           //Количество файлов упаковываемое в один ФПК

 _printf("Sc4")


//Скрипт обработки кореспонденции


//упаковка

while (1) do

 _printf("Sc5")
......


   //  _UnPack("C:\FossMail32\Lbox\SYSOP","C:\Mailsbu\In\Sysop")
   //  _UnPack("C:\FossMail32\Lbox\ADMIN","C:\Mailsbu\In\Admin")


  _UnPack("D:\FossMail32\Lbox\Shirjaevo","d:\FossMail32\NBOX\SHIR")


// _SetXUnPackRewriteMode(2)

//       _UnPack("c:\fossmail32\lbox\ADMIN","c:\FossMail32\NBOX\ADMIN")

// _SetXUnPackRewriteMode(0)

 _printf("Sc6")
      _UnPack("d:\fossmail32\lbox\ADMIN","d:\FossMail32\NBOX\ADMIN")
      _UnPack("d:\fossmail32\lbox\sysop","d:\FOSSMAIL32\NBOX\SYSOP")

    //  _UnPack("c:\fossmail32\lbox\john","c:\FOSSMAIL32\NBOX\JOHN")

 _printf("Scan....")
  _Sleep(20000)
 _printf("Sc7")
endwhile
 _printf("endwhile")
exit
результат, пожалуйста, сообщите.

vitalson27
Пользователь
Сообщения: 20
Зарегистрирован: 04 дек 2009, 20:25
2 + 2 = ?: 4

Re: АРМ в FossMail

Сообщение vitalson27 » 11 янв 2010, 09:53

Добрый день. Вот результат работы скрипта
header file name: fpkapi.fh
FpkAPI(v 4.0.1.31)
Sc1
Sc2
Sc3
Sc4
Sc5
Sc6
Scan....
sc7
Sc5
Sc6
Scan....
sc7
Sc5
Sc6
Scan....
sc7
Sc5
Sc6
Scan....

а exmon запускается как задача.

FossWare
Пользователь
Сообщения: 380
Зарегистрирован: 19 дек 2008, 17:28

Re: АРМ в FossMail

Сообщение FossWare » 11 янв 2010, 11:13

Исходя из приведенного Вами лога, складывается впечатление, что скрипт был остановлен вручную (или с помощью внешней программы), причем не просто остановлен, а снят посредством закрытия системной задачи, т.к. сейчас кнопка Esc придавлена (теперь если данная функция не прописана в скрипте (а она у Вас не прописана), остановить скрипт по кнопке Esc невозможно). В Вашем случае скрипт делает 4 - 5 полных цикла и все. Что при этом происходит, когда скрипт завершает работу, нам не понятно, но Вы можете попробовать отследить, что происходило с системой в это время по системным событиям (Events Log). Либо Вы сами или лица, имеющие доступ на сервер, сняли работу скрипта путем закрытия системного процесса. Тут возможны разные варианты. Но из приведенного Вами лога, видно, что скрипт очень замечательно работает, как системная задача сервера Fossmail32.

tyler
Новичок
Сообщения: 4
Зарегистрирован: 29 ноя 2010, 15:56
2 + 2 = ?: 4

Re: АРМ в FossMail

Сообщение tyler » 29 ноя 2010, 16:06

Добрый вечер. Выполнил все описные Вами пункты, для подключения АРМ в меню TASK:

Для того чтобы скрипт запускался как системная задача, необходимо прописать его в файле host.cfg в секци и [Tasks] строки запуска скриптов, - на каждый скрипт свою строку. Синтаксис строки приведен в примере:
Код:
#TASK=xxx,aaa,bbb,ccc
где xxx - имя процесса (в Вашем случае это ARM);
aaa - отображаемое в процессах имя задачи (не более 2-4 слов);
bbb - путь для запуска;
ссс - имя машины, на которой стоит сервер.

Пример готовой строки запуска: #TASK=ARM,ARM,C:\Script1\run.bat,NBU2SER2003R2


Правда АРМ так и не добавился в области системных задач... Не поможите с моей проблемой ?

FossWare
Пользователь
Сообщения: 380
Зарегистрирован: 19 дек 2008, 17:28

Re: АРМ в FossMail

Сообщение FossWare » 30 ноя 2010, 11:56

Пример готовой строки запуска: #TASK=ARM,ARM,C:\Script1\run.bat,NBU2SER2003R2

Правда АРМ так и не добавился в области системных задач... Не поможите с моей проблемой ?
А вы можете процитировать строку запуска сктрипта прописанную в секции TASK. Или данная стока актуальна

Код: Выделить всё

#TASK=ARM,ARM,C:\Script1\run.bat,NBU2SER2003R2
для вас, если да, то dns имя машины на которой стоит сервер Fossmail - NBU2SER2003R2 или нет? Если нет, то срипт запускаться не будет. Проверьте еще раз строку #TASK (запуска скрипта) в секции TASK.

Ответить

Вернуться в «FossMail»