Foxtable(狐表)用户栏目专家坐堂 → [求助]在执行计划的时候,HttpRequest好像是无响应的,怎么解决?


  共有1787人关注过本帖树形打印复制链接

主题:[求助]在执行计划的时候,HttpRequest好像是无响应的,怎么解决?

帅哥哟,离线,有人找我吗?
浙江仔
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1316 积分:9484 威望:0 精华:1 注册:2010/7/21 14:20:00
[求助]在执行计划的时候,HttpRequest好像是无响应的,怎么解决?  发帖心情 Post By:2018/8/18 9:20:00 [只看该作者]

如题,我用计划管理,设置了微信模板消息的发送,因为发送数量比较多,所以发送消息使用了异步函数。
计划管理是用遍历的方式,调取发送对象,提交异步发送的

在此计划执行过程中,异步发送耗时减少了很多,但是在执行过程中,HttpRequest好像也是无法响应的,程序也处于无响应状态

应该怎么修改计划管理的事件代码?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107863 积分:548678 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/18 9:27:00 [只看该作者]

代码呢,不给出来别人怎么改?

这种建议分项目,把计划管理独立出来单独运行

 回到顶部
帅哥哟,离线,有人找我吗?
浙江仔
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1316 积分:9484 威望:0 精华:1 注册:2010/7/21 14:20:00
  发帖心情 Post By:2018/8/18 9:38:00 [只看该作者]

计划管理代码:
If Vars("WX_TM_Send") >0 Then
    Vars("WX_TM_Send")=0
    Dim fileid  As String
    Dim s4 As String
    Dim urls As String
    Dim state As Integer

    Do
        Dim pdr As DataRow=DataTables("Wechat_TM_Send_List").SQLFind("state> 0  and type ='file' ")
        If pdr IsNot Nothing Then
            fileid =pdr("fileid")
            s4=pdr("remarks")
            urls=pdr("urls")
            state=pdr("state")
        Else
            Exit Do
        End If
        
        'output.show(fileid )
        
        Dim fdr As DataRow= DataTables("C_PYH_WorkFile_DTL").SQLFind("Work_id='"& fileid &"' and is_active='1' ")
        If fdr IsNot Nothing Then
            For Each dr As DataRow In DataTables("S_PYH_WCHACT_INFO").SQLSelect("IS_ACTIVE='1' and enterprise_id > '' ")
                Dim pdcode As String =Functions.Execute("getProdCodeByid",dr("enterprise_id"))
                If pdcode<>"" Then
                    If pdcode.Contains(fdr("attach_pcode"))   Then
                        If state >1 Then
                            Dim xdr As DataRow=DataTables("C_PYH_WORK_Process").SQLFind("WORK_id ='"& fileid &"' and dept_id= '"& dr("enterprise_id") &"' And WORK_STATUS='完成' and IS_ACTIVE='1'  ")
                            If xdr Is Nothing Then
                                Functions.AsyncExecute("TemplateMessage_send_File",dr("WCHAT_ID"),fileid,s4,urls)
                            End If
                        Else
                            Functions.AsyncExecute("TemplateMessage_send_File",dr("WCHAT_ID"),fileid,s4,urls)
                            
                        End If
                    End If
                End If
            Next
            pdr("state")=0
            Functions.AsyncExecute("TemplateMessage_send_File","otmQFs6MaQBpfCrkihqi_XMw4V4s",fileid,s4,urls)
        Else
            pdr("state")=-1
        End If
        pdr("sendTime")=now
        pdr.save()
    Loop
End If


[此贴子已经被作者于2018/8/18 9:41:24编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
浙江仔
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1316 积分:9484 威望:0 精华:1 注册:2010/7/21 14:20:00
  发帖心情 Post By:2018/8/18 9:44:00 [只看该作者]

分项目单独执行计划管理倒是比较方便的解决问题的办法,就是维护起来稍显麻烦

或是计划管理也做成函数,然后异步调用?

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107863 积分:548678 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/18 10:03:00 [只看该作者]

对的,全部代码都丢到一个异步函数里好了

 回到顶部
帅哥哟,离线,有人找我吗?
浙江仔
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1316 积分:9484 威望:0 精华:1 注册:2010/7/21 14:20:00
  发帖心情 Post By:2018/8/18 10:07:00 [只看该作者]

那我SQLFind和SQLselect需要改成SQLCommand吗?

 回到顶部