powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Обсуждение нашего сайта (архив) [закрыт] [закрыт для гостей] / Предложение
13 сообщений из 13, страница 1 из 1
Предложение
    #79544
Ирина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В некоторых форумах есть удобная возможность подписаться на интересующие топики, что бы при обновлении приходило сообщение на е-mail. Уважаемые администраторы, что вы думаете по-этому поводу?
...
Рейтинг: 0 / 0
Предложение
    #79921
Фотография judge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю :)
...
Рейтинг: 0 / 0
Предложение
    #81989
Фотография MarchCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
гыыыыы
долго Вы думаете .......
...
Рейтинг: 0 / 0
Предложение
    #82283
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не подгоняйте Творца!
...
Рейтинг: 0 / 0
Предложение
    #82287
Фотография judge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть определенные проблемы, связанные с реализацией. По идее, это должен быть сервис который запускается, например, раз в 10 минут и рассылает необходимые сообщения. Но у меня нет возможности разместить свой сервис на хостинге. Какие могут быть еще варианты? SQL Server job? + agent?

Alex
...
Рейтинг: 0 / 0
Предложение
    #82289
Фотография judge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Редмонте точно должны об этом знать ;)
...
Рейтинг: 0 / 0
Предложение
    #82492
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если через SQL Mail, запуская сторед процедуру из джоба?

Например, так:

IF EXISTS (SELECT * FROM sysobjects WHERE type = 'U' and id = object_id('dbo.SUBSCRIPTION'))
DROP TABLE dbo.SUBSCRIPTION
GO

create table dbo.SUBSCRIPTION
(
sub_id int identity primary key clustered,
user_id int not null,
topic_id int not null
)
GO

IF EXISTS (SELECT * FROM sysobjects WHERE type = 'P' and id = object_id('dbo.MAIL$SendEventBySubscription'))
DROP Procedure dbo.MAIL$SendEventBySubscription
GO

create procedure dbo.MAIL$SendEventBySubscription
@recipient varchar(200),
@message varchar(200)
AS
declare @ret int,
@sub_id int,
@user_id int,
@topic_id int

exec @ret = xp_startmail 'janetl', 'abc12345'
if @@error <> 0 goto Err

select @sub_id = 0

while( 1=1 )
begin
select top 1
@sub_id = sub_id,
@user_id = user_id,
@topic_id = topic_id
from SUBSCRIPTION
where sub_id > @sub_id
order by sub_id
if @@rowcount = 0 break

<Получаем в @recipient адрес пользователя по @user_id и в @message УРЛ по @topic_id>

exec @ret = xp_sendmail
@recipients = @recipient,
@message = @message,
@subject = 'Сообщеньице от SQL.RU'
if @@error <> 0 goto Err
end

exec @ret = xp_stopmail
if @@error <> 0 goto Err

return 0
Err:
return -1
go
...
Рейтинг: 0 / 0
Предложение
    #82494
Фотография judge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я как раз на счет этого и думал когда написал про sql server job. Осталось узнать, могу ли я пользоваться sql mail.

Alex
...
Рейтинг: 0 / 0
Предложение
    #82541
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно и без сервисов

create table send (
topicid int,
lastsend datetime
)

В тригере на изменение-добавление топиков проверять

declare @lastsend datetime

select @lastsend from send where topicid=inserted.topicid

if datediff(hour,lastsend,getdate())>N_часов
begin
update send
set lastsend=getdate()
where topicid=inserted.topicid

mysendmailproc(inserted.topicid)

end
т.е если топик изменялся более чем час назад, посылаются уведомления
...
Рейтинг: 0 / 0
Предложение
    #82543
Фотография judge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда при большом количестве подписавшихся, добавление нового сообщения в тему может очень притормаживать.

Alex
...
Рейтинг: 0 / 0
Предложение
    #82570
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2judge
Осталось узнать, могу ли я пользоваться sql mail
Есть приличная штука - XPSMTP.DLL

У меня уже месяц работает на одном сервере (вне нашего домена, в "чужой" сети), который стартует по local system account. Там как раз крутится мой DTS Package в Job-е.
Только нужен SMTP сервер "понадежнее".
...
Рейтинг: 0 / 0
Предложение
    #83950
IrinaG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex, гражданин начальник изволит ехидничать?:) В Редмонде знают все, но не все из Редмонда сюда ходят, помилуйте, я же здесь из-за ОЛАПа:)
А вообще спасибо за мысли, если получится будет здорово и вообще сайт у Вас хороший.

Ирина
...
Рейтинг: 0 / 0
Предложение
    #84453
Фотография judge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удалось договориться с хостингом об использовании SQL Mail. Соответственно, скоро будет возможность подписаться на сообщения. В общем-то alexeyvg примерно так все и написал :)

Alex
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Обсуждение нашего сайта (архив) [закрыт] [закрыт для гостей] / Предложение
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]