我用Javascript编写的webscript用于发送电子邮件。它工作得很好,但我想在后台发送这些电子邮件,这样行动不会减慢进一步的代码执行速度。我怎么能这样做?
提前致谢!
最佳, d
附加代码:
我创建了sendmail.lib.js,它包含在需要以下签名的js文件中:
function sendmail(to, subject, nodeRef, templatePath, templateArgs, textIfTemplateNotFound )
此功能以以下行结束:
mail.execute(search.findNode(nodeRef));
这是我发送电子邮件的方式以及与“开箱即用”的Alfresco事件无关的特定事件。
答案 0 :(得分:3)
由于您正在使用Action,因此答案非常简单。你想要做的是Asynchronous Execution of your Action。然后,Alfresco会将您的操作添加到异步操作队列,并在其中一个异步线程可用时立即运行。
而不是
mailAction.execute(node);
您改为
mailAction.executeAsynchronously(node);
就是这样!有关使用JavaScript操作可以执行的操作的详细信息,请查看文档on the wiki,或者阅读ScriptAction source code
答案 1 :(得分:1)
你应该创建一个规则,有两种方法可以做到这一点,我在前一段时间写下来,在我的个人博客上,抱歉做这种广告......有链接: Scheduled Custom Action Alfresco。这适用于您希望在CRON基础上发送邮件的情况。否则,如果要在存储库中发生某些事情时发送邮件,则可以按照这些简单步骤创建规则。 Create Content Rule Alfresco。 如果有帮助,请告诉我。