[ОТВЕТИТЬ]
30.06.2006 15:18
kadr
 
Вот, сегодня подправил просмоторщик почтовых пакетов .
Все желающие могут забрать его отсюда

в архиве лежит сама программулина и файлик для задания ip-адресов компутеров на которых расположен почтовик для конкретной БД
формат файла: набор строк следующего вида
<имя БД, как в TNS>=<ip-адрес>
Для работы требуется наличие OCI (клиентская частьOracle).

Программа, позволяет посмотреть очередь виртуальных пакетов (с указанием наличия ошибки), сортировка виртуальных пакетов по любому из столбцов (к сожалению *11 иногда выскакивает ошибка типа "Invalid pointer operator" ), автообновление с указанием периода (правая кнопка мыши на кнопке "обновить"), просмотр объектов в вирт. пакете, просмотр физ. пакетов. При указанном ip-адресе почтовика и наличии административного доступа по сети к компу со службой почтовика, программа показывает статус службы и позволяет, запустить/остановить службу.

В программе используются операторы типа SELECT, никаких действий с БД не производит.

Готов к конструктивной критике и предложениям по расширению функционала.
03.07.2006 11:03
deucel
 
У меня на 9м оракле при запуске
Статус службы почтовика
OpenSCManager: ошибка: 1722
Сервер RPC не доступен.

а так вроде запускается
03.07.2006 11:19
deucel
 
у меня сейчас 120 магазинов часть из которых на диалапе
и я уже давно использую пару таких скриптов:

Для удаления успешно принятых пакетов,
которых может в день быть несколько сотен
delete from smpostpackages
where uploadfailed=0 and deliveryack is not null


просмотр где пакеты с ошибками
SELECT DISTINCT P.VIRTPACK VIRTPACK, L.TITLE BASE, F.FPID PACK
FROM SMPOSTPACKAGES P,SMPOSTFAILRP F,SMPOSTLOCATIONS L
WHERE F.FPID=P.ID AND P.TARGET=L.ID

Для повторной отправки пакета, с указанием id пакета вручную
из пердыдущего примера
(полезно в централизованных пакетах не повторяя на все магазины)
CLEAR SCREEN
SET SERVEROUTPUT ON
DECLARE
VP NUMBER(6) NOT NULL := '&virtpack';
BEGIN
DELETE FROM (SELECT A.* FROM SMPOSTFAILRP A, SMPOSTPACKAGES S
WHERE A.FPID=S.ID
AND S.VIRTPACK=TO_NUMBER(VP));
COMMIT;
UPDATE SMPOSTPACKAGES
SET UPLOADFAILED=0,
DELIVERYACK=NULL,
LASTSTARTED=NULL
WHERE VIRTPACK=TO_NUMBER(VP)
AND UPLOADFAILED=1;
COMMIT;
END;
03.07.2006 11:38
OlegON
 
При старте пишет "почтовый модуль yf 192.168.100.255"
При попытке посмотреть статус почтовика
---------------------------
Postviewer
---------------------------
MatrixPostVirt: Cannot perform this operation on a closed dataset.
---------------------------
OK
---------------------------
В меню "Выход" не выходит, только крестиком закрылась... Как-то не это... Даже не бета...
*11
03.07.2006 13:16
kadr
 
Цитата:
deucel У меня на 9м оракле при запуске
Статус службы почтовика
OpenSCManager: ошибка: 1722
Сервер RPC не доступен.
необходим полный доступ к адм. ресурсам по сети к компу со службой почтовика
03.07.2006 13:18
kadr
 
Цитата:
olegon ... Даже не бета...
*11
Совершенно верно, глубокая альфа
22.08.2006 13:27
OlegON
 
Поднимая тему, разработка остановилась? А то Punctilio вон предлагает... Я бы внес все таки изменение параметров и удаление пакетов. Просто возникла идея мне писать это, а изобретать велосипед не хочется, да и времени мало.
22.08.2006 13:47
kadr
 
olegon, нет разработка не остановилась, идёт подвправка ошибок, но без внесения нового функционала.
Из того что запланировано: Удаление пакетов, список объектов в очереди либо фильтр пакетов по объектам.
Про изменение параметров надо будет подумать.
22.08.2006 14:20
OlegON
 
Цитата:
kadr Про изменение параметров надо будет подумать.
А что там думать-то :) Мелочь для разработки, а рулить еще удобнее будет.
22.08.2006 14:35
kadr
 
olegon, как бы это попроще объяснить то, не хочу я выкладывать утилы, которые будут делать изменения в таблицах СуперМага, вдруг ошибку какую допущу - сам у себя разберусь, а как быть с теми кто необдуманно этим воспользуется?
22.08.2006 14:53
OlegON
 
Цитата:
kadr olegon, как бы это попроще объяснить то, не хочу я выкладывать утилы, которые будут делать изменения в таблицах СуперМага, вдруг ошибку какую допущу - сам у себя разберусь, а как быть с теми кто необдуманно этим воспользуется?
Напиши в хелпе: "Кто запускает - берет ответственность на себя!". Твое дело сделать. Если кто-то вместо очереди почтовика почистит кассовые документы, скажешь "спасибо, что нашли ошибку". Ты безвомездно пытаешься помочь. В этом случае обвинения неуместны.
24.08.2006 15:47
Little
 
Цитата:
olegon Напиши в хелпе: "Кто запускает - берет ответственность на себя!". Твое дело сделать. Если кто-то вместо очереди почтовика почистит кассовые документы, скажешь "спасибо, что нашли ошибку". Ты безвомездно пытаешься помочь. В этом случае обвинения неуместны.
Спасибо, классная идея, пишу вредоносную прогу с ф-цией удаления всех документов и выкладываю под эгидой полезной утилитки. *05
24.08.2006 15:54
OlegON
 
Такая уже есть smdbcleanup.sql называется *06
25.08.2006 09:22
twix
 
olegon, а где такую весчь полезную взять? *10
25.08.2006 09:29
twix
 
kadr, неплохо бы добавить:
1. автообновление с задаваемым интервалом, игнорируя ошибки, связанные с соединением (на диалапе иногда пинги доходят лишь через 15-20 секунд *01 )
2. в скриптах обращаться к таблицам с указанием представления "SUPERMAG.", а то под своим именем подцепился, а меня послали
3. хотелось бы увидеть возможность пересоздавать пакеты. думаю, работать с таким будет удобнее по сравнению с тормозным почтовиком (%

* дополнение
4. желательно сделать человеческий инишник и сохранять параметры последнего входа (имя пользователя, пароль, который шифруется хотя бы ксором, и база), чтобы просто нажимать 'OK' после запуска программы.
5. а еще можно складывать программу в трей и, в случае появления пакета с ошибкой, выдавать балун тип, при клике на который переходил бы сразу к пакету и его ошибке

вот. это так. пожелания *05
28.08.2006 08:23
kadr
 
twix, автообновление есть, его менюшка вызывается правым кликом на кнопке "Обновить".
2. спасибо, учту
3. это тоже будет, совместно с удалением пакетов

про 4 и 5 ничего не обещаю, дойдут руки - сделаю
30.08.2006 09:29
kadr
 
*155 Здесь , обновлённая версия.
Из того что добавлено:
- Отмена пакетА
- Уничтожение пакетА
- Уничтожение успешных пакетов (спасибо deucel за идею)
- по новому устроен инишник, но пока только на чтение
- добавлена возможность отключения проверки статуса службы Почтовика, в INI CheckSMPost (1- проверять, 0-не проверять)

Качайте, пробуйте.
Ногами сильно не пинать! *98
30.08.2006 10:17
twix
 
Цитата:
kadr Из того что добавлено:
- Отмена пакетА
- Уничтожение пакетА
- Уничтожение успешных пакетов (спасибо deucel за идею)
- по новому устроен инишник, но пока только на чтение
- добавлена возможность отключения проверки статуса службы Почтовика, в INI CheckSMPost (1- проверять, 0-не проверять)
kadr, респект! только сам опять не логиниться... ну и ладно.
все-равно респект! *40 *59 *33

вопрос появился: что за memo там внизу такой? (%
30.08.2006 10:21
deucel
 
Цитата:
kadr - Уничтожение успешных пакетов (спасибо deucel за идею)
А повторная отсылка физического пакета с ошибкой в базу из общего(на всех) виртуального пакета - не прельстила? *04

У меня отменять пакет на более 100 магазинов дело не благодарное, а штрихкод к примеру приходит раньше чем карточка.
Изображения
Тип файла: jpg Graphic1.jpg (195.3 Кб, 4033 просмотров)
Тип файла: jpg Graphic1.jpg (195.3 Кб, 4033 просмотров)
30.08.2006 12:10
kadr
 
Цитата:
deucel
А повторная отсылка физического пакета с ошибкой в базу из общего(на всех) виртуального пакета - не прельстила? *04

У меня отменять пакет на более 100 магазинов дело не благодарное, а штрихкод к примеру приходит раньше чем карточка.
Не в этот раз, но учту.
30.08.2006 19:18
AlexeyV
 
я посмотрел программу Kadr`a для просмотра очереди почтовика. на первый взгляд намного лучше, чем стандартный интерфейс.
Остался вопрос - как выбрать несколько пакетов для групповой операции (уничтожение , отмена) ,как в оригинальном почтовике?

еще вопрос. если не секрет, то какой скрипт зашит в команды "уничтожения" и "отмены" ? Я хочу это повесить на джоб в каждый магазин.
30.08.2006 19:53
AlexeyV
 
еще непонятка возникла: при отмене группового пакета (даже после удаления успешных) он создается заново с полным списком получателей (все магазины). Это фича или как?
Хотелось бы, по-уму, его отправить только туда, где были ошибки.
31.08.2006 08:56
kadr
 
Цитата:
AlexeyV я
Остался вопрос - как выбрать несколько пакетов для групповой операции (уничтожение , отмена) ,как в оригинальном почтовике?
Лучше читайте тему
Цитата:
Kadr - Отмена пакетА
- Уничтожение пакетА
Цитата:
AlexeyV еще вопрос. если не секрет, то какой скрипт зашит в команды "уничтожения" и "отмены" ? Я хочу это повесить на джоб в каждый магазин.
А как ты в джобе собираешься определять какой пакет отменить, какой удалить?
IMHO не надо бездумно удалять ошибочные пакеты, каждая ошибка должна быть осмыслена.


а скрипты не секрет
ОТМЕНА
Код:
BEGIN
 UPDATE
      SUPERMAG.SMPOSTQUEUE
      SET VIRTPACK = NULL
      WHERE VIRTPACK = TO_NUMBER(:virtpack));
  DELETE FROM (SELECT A.*
                 FROM SUPERMAG.SMPOSTFAILRP A, SUPERMAG.SMPOSTPACKAGES S
                WHERE A.FPID = S.ID
                  AND S.VIRTPACK = TO_NUMBER(:virtpack));
   DELETE
      FROM SMPOSTPACKAGES
      WHERE VIRTPACK = TO_NUMBER(:virtpack));
   DELETE
      FROM SMPOSTVIRTPACKS
      WHERE ID = TO_NUMBER(:virtpack));
  COMMIT;
END;
УНИЧТОЖЕНИЕ
Код:
BEGIN
  DELETE
      FROM SUPERMAG.SMPOSTQUEUE
      WHERE VIRTPACK = TO_NUMBER(:virtpack));
  DELETE FROM (SELECT A.*
                 FROM SUPERMAG.SMPOSTFAILRP A, SUPERMAG.SMPOSTPACKAGES S
                WHERE A.FPID = S.ID
                  AND S.VIRTPACK = TO_NUMBER(:virtpack));
  DELETE FROM SUPERMAG.SMPOSTPACKAGES WHERE VIRTPACK = TO_NUMBER(:virtpack);
  DELETE FROM SUPERMAG.SMPOSTVIRTPACKS WHERE ID = TO_NUMBER(:virtpack);
  COMMIT;
END;
Цитата:
AlexeyV еще непонятка возникла: при отмене группового пакета (даже после удаления успешных) он создается заново с полным списком получателей (все магазины). Это фича или как?
Хотелось бы, по-уму, его отправить только туда, где были ошибки.
Лучше читайте тему
https://olegon.ru/index.php?name=For...ic&p=3245#3245

Цитата:
twix вопрос появился: что за memo там внизу такой?
Там выводилась, информация при проверке статуса почтовика. Посчитал что не мешает, решил не убирать.
31.08.2006 11:40
AlexeyV
 
Подскажите, почему при повторной пересылке пакета нельзя просто сбросить флаг отправки физического пакета (smpostpackages) ? Для того, чтобы получить последнию версию передаваемого объекта из БД?
31.08.2006 12:06
kadr
 
Цитата:
AlexeyV Подскажите, почему при повторной пересылке пакета нельзя просто сбросить флаг отправки физического пакета (smpostpackages) ?
Кто сказал что нельзя-то? Можно, и тогда у тебя отправиться пакет только для конкретного магазина (при мультирассылке). И тогда получится то очём и говорил deucel
04.09.2006 23:56
AlexeyV
 
По поводу автомата (джоба).
Я собираюсь разглядывать содержимое ошибки, и если оно = *, то отменять пакет. У меня очень много ошибок типа *
05.09.2006 07:13
kadr
 
AlexeyV, ну тогда, уже всё есть в этой теме.
а по поводу ошибки *, может стоит персмотреть настройки почтового модуля?
05.09.2006 13:22
twix
 
еще одно пожелание...
неплохо было бы сделать фильтр... чтобы, допустим, можно было просмотреть пакеты только для одной базы
05.09.2006 13:48
AlexeyV
 
2 kadr: пересмотреть это хорошо, но не хватает знаний. Мне нужен спец по Линуксу, который бы поднял "правильный" FTPшник. Сейчас используется "прямой обмен". За спеца по Линуксу готов заплатить деньги *04

OlegON: Сейчас буду наказывать за несоблюдение темы ветки. Дальнейшее обсуждение FTP или Линукса предлагаю продолжить тут кстати, фтп на линуксе (ftpd) любой студент поднимет. Только в чем его особенная "правильность" не знаю.
05.09.2006 13:53
Mtirt
 
Давайте обсудим почтовик в отдельной ветке? Почему вы "уперлись" в FTP?
Опции темы


Часовой пояс GMT +3, время: 20:58.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.