Номера задач. Схема Master/Slave(s)
В случае использования на системе нескольких каналов и, как следствие,
нескольких задач T-Mail, работающих одновременно, используется
разграничение функций каждой из этих задач. Выделяется только одна задача,
которая будет заниматься упаковкой почты (Master), она может выполнять все
обычные функции или же вы можете снять с нее обязанности по управлению
модемом (см. "Использование выделенного упаковщика" в этой же главе).
Остальные задачи (Slave) упаковкой почты не занимаются, они только работают
с модемами и распаковывают пришедшую на их канал почту. Передача информации
между задачами Slave и Master осуществляется через специальные временные
файлы и флаги (см.ниже).
Для нормального "разделения обязанностей" каждому экземпляру программы
t-mail.exe, запущенному в многолинейной системе, должен быть задан
уникальный номер задачи. Это делается с помощью ключа -N при запуске
t-mail.exe:
T-MAIL -N1 - номер задачи (task number) 1 (по умолчанию)
T-MAIL -N3 - ----- " ------ 3
В некоммерческой версии T-Mail можно использовать только задачи с
номерами 0, 1 и 2. В коммерческих версиях можно использовать в одной
системе до 256 задач (в зависимости от категории) с номерами 0...255.
Кроме того, мэйлеры должны использоваться по схеме Master/Slave(s)
(ведущий/ведомые). Для этого в файле t-mail.ctl одному из экземпляров
T-Mail сообщается, что он Master, а остальным - что они Slave, например:
...
[1] Task_Mode Master
[2] Task_Mode Slave
[3] Task_Mode Slave
...
Тот T-Mail, который был запущен с ключом -N1 возьмет на себя функции
упаковщика. Остальные будут через временный файл получать информацию об
очереди и специальными флагами сообщать T-Mail/master о необходимости той
или иной обработки. Таким образом, только один экземпляр T-Mail будет
просматривать письма и готовить их к отправке.
Поскольку файлы t-mail.ctl и events.ctl , как правило, являются общими
для всех экземпляров, в этом случае придется для некоторых переменных
использовать поле task ident. Например:
[1] Log T-Mail1.log
[2] Log T-Mail2.log
...