我们正在使用Genexus EV3开发一个项目,我们注意到我们可以使用它轻松地通过短信或电子邮件通知用户相关信息。
我想知道是否有可能在genexus中创建某种背景进程来检查数据库,这样我们就可以根据数据库中的信息发送电子邮件了。谢谢。
发布于 2014-10-21 17:14:26
可以使用submit方法异步调用过程对象,如下所示:
// Some code...
prAnyProcedure.submit(&parm1, &parm2)
// Some code...
// Some code...在这种情况下,主程序流将立即继续处理。
但是,如果需要在没有任何用户干预的情况下不时调用过程,则应该使用服务器端工具(如ant或cron/crontab linux实用程序)。
http://ant.apache.org/faq.html#what-is-ant
http://linux.die.net/man/8/cron
发布于 2017-11-25 04:28:28
我做了一些你需要的。我做了一个过程,使它主要和启动与任务(它每天上午9点运行)。在一张桌子上,我有提醒和邮件地址,按摩发送等。这是主要的步骤。
for each empresa
where EmpresaEstado=1
&Empresanombre=EmpresaNombre
&EmpresaEmail=EmpresaEmail
&EmpresaServidorSalida=EmpresaServidorSalida
&EmpresaServidorPassword=EmpresaServidorPassword
endfor
for each recordatorios
where RecordatoriosEstado=1
where RecordatoriosDiaEnvio=day(today())
&smtp.Host = 'smtp.gmail.com'
&smtp.Port = 25
&smtp.Sender.Address = TRIM(&EmpresaEmail)
&smtp.Sender.Name = TRIM(&empresanombre)
&smtp.Authentication = 1
&smtp.Secure=1
&smtp.UserName = TRIM(&empresaEmail)
&smtp.Password = trim(&EmpresaServidorPassword)
&recordatoriosasunto=RecordatoriosAsunto
&recordatoriostexto=RecordatoriosTexto
&mail.To.New('Mauricio','mlopez.informatica@gmail.com')
&smtp.ErrDisplay = 0
&smtp.Login()
for each
where RecordatoriosClienteEstado=1
&mail.BCC.new(RecordatoriosClienteMail1,trim(RecordatoriosClienteMail1))
if RecordatoriosClienteMail2<>''
&mail.BCC.new(RecordatoriosClienteMail2,trim(RecordatoriosClienteMail2))
endif
endfor
&mail.Subject = &recordatoriosasunto
&mail.Text = &recordatoriostexto
&smtp.Send(&mail)
&mail.Clear()
&smtp.Logout()
endforhttps://stackoverflow.com/questions/26492220
复制相似问题