【发布时间】:2016-04-12 15:43:23
【问题描述】:
当我注释掉下面与线程相关的代码时,向 slack API 的提交按预期工作。但是,当我尝试在线程命令中处理提交时,提交永远不会通过。
我做错了吗?在 Railo 4 中运行
// push to slack!
public function push(options = {}) {
var http = new http();
var data = {
"text": "Default message",
"channel": "activity"
};
structAppend(data, options);
// thread
// action="run" {
sleep(5000);
http.setMethod("post");
http.setUrl(variables.slackWebhookUrl);
http.addParam(
type = "formField",
name = "payload",
value = serializeJson(data)
);
http.send();
// }
}
【问题讨论】:
-
你不需要给你的线程命名吗?
-
你在看什么让你认为提交没有通过?
-
谢谢大家。我已经尝试过,没有 name 属性。根据 cfdocs,name 属性不是必需的。我正在 myapp.slack.com 上查看我的 Slack 频道,以确认是否未处理提交。没有线程,立即发布,有它,什么都没有。
-
您的...应用程序日志中是否没有错误(可能是您的异常日志,不记得它们去了哪里)?我怀疑您的线程看不到参数范围,并且您没有将
data传递给它。 -
谢谢亚当。今晚我会看看那些日志。既然您提到了它,我记得线程似乎无法访问它们创建的上下文中的变量(这总是让我失望)。我想我的新方法(我需要记住)是将 cfthreads 视为 cfmodules 并通过显式属性传递任何数据。我今晚会试试这个(根据你的评论)并发布更新。
标签: coldfusion cfml railo cfc cfthread