4/11/23 - Cambios en JobDone de Principal y DBRequestManager

This commit is contained in:
2023-11-04 23:27:40 -06:00
parent acb76e9a76
commit 5ddfbfceb2
3 changed files with 23 additions and 27 deletions

View File

@@ -970,13 +970,15 @@ End Sub
Sub JobDone(Job As HttpJob)
Log("JOBDONE PRINCIPAL")
' If Job.JobName = "DBRequest" Then
' Dim RESULT As DBResult = reqManager.HandleJob(Job)
' Log($"Tag: ${RESULT.tag}, success=${Job.Success}"$)
' End If
If Job.Success = False Then
'ToastMessageShow("Error: " & Job.ErrorMessage, True)
If reqManager.reqsList.IsInitialized Then 'Si tenemos lista de requests, la procesamos.
If reqManager.reqsList.IndexOf(Job.tag) <> -1 Then
reqManager.reqsList.RemoveAt(reqManager.reqsList.IndexOf(Job.tag))
LogColor($">>>>>> Quitamos ${Job.tag}"$, Colors.Blue)
End If
LogColor(">>>>>> " & reqManager.reqsList.Size & " - " & reqManager.reqsList, Colors.Blue)
End If
If Not(Job.Success) Then
LogColor("Error: " & Job.tag & " : " & Job.ErrorMessage, Colors.red)
If Job.ErrorMessage = "STREAM" Then
If CARGA = "SUBIR" Then
PB2.Progress = PB2.Progress + PORCENTAJE

View File

@@ -4,9 +4,7 @@ ModulesStructureVersion=1
Type=Class
Version=6.8
@EndOfDesignText@
'Necesita la libreria RandomAccessFile
'Class module
''Class module
Sub Class_Globals
Private mTarget As Object
Type DBResult (Tag As Object, Columns As Map, Rows As List)
@@ -17,7 +15,8 @@ Sub Class_Globals
,T_DOUBLE = 6, T_BOOLEAN = 7, T_BLOB = 8 As Byte
Private VERSION As Float = 0.9
Private tempArray(1) As Object
Dim jobTagAnterior As String = "" 'Mod por CHV - 211027
Dim jobTagAnterior As String = "" 'Mod por CHV - 211109
Dim reqsList As List
End Sub
'Target - The module that handles JobDone (usually Me).
@@ -25,6 +24,7 @@ End Sub
Public Sub Initialize (Target As Object, ConnectorLink As String)
mTarget = Target
link = ConnectorLink
reqsList.Initialize
End Sub
'Sends a query request.
@@ -35,13 +35,13 @@ Public Sub ExecuteQuery(Command As DBCommand, Limit As Int, Tag As Object)
Dim j As HttpJob
Dim ms As OutputStream
Dim out2 As OutputStream = StartJob(j,ms, Tag)
If reqsList.IsInitialized Then reqsList.Add(Tag)
WriteObject(Command.Name, out2)
WriteInt(Limit, out2)
WriteList(Command.Parameters, out2)
out2.Close
j.PostBytes(link & "?method=query", ms.ToBytesArray)
j.GetRequest.Timeout = 30000 'timeout del request (30 segs)
End Sub
'Executes a batch of (non-select) commands.
@@ -62,6 +62,7 @@ End Sub
'Similar to ExecuteBatch. Sends a single command.
Public Sub ExecuteCommand(Command As DBCommand, Tag As Object)
If reqsList.IsInitialized Then reqsList.Add(Tag)
ExecuteBatch(Array As DBCommand(Command), Tag)
End Sub
@@ -116,7 +117,7 @@ Private Sub WriteObject(o As Object, out As OutputStream)
Else If GetType(tempArray(0)) = "[B" Then
data = o
out.WriteBytes(Array As Byte(T_BLOB), 0, 1)
WriteInt(data.Length, out)
WriteInt(data.Length, out)
Else 'If o Is String Then (treat all other values as string)
out.WriteBytes(Array As Byte(T_STRING), 0, 1)
data = bc.StringToBytes(o, "UTF8")
@@ -189,7 +190,7 @@ End Sub
'Handles the Job result and returns a DBResult.
Public Sub HandleJob(Job As HttpJob) As DBResult
' Dim start As Long = DateTime.Now
Dim start As Long = DateTime.Now 'ignore
Dim In As InputStream = Job.GetInputStream
Dim cs As CompressedStreams
In = cs.WrapInputStream(In, "gzip")
@@ -200,8 +201,8 @@ Public Sub HandleJob(Job As HttpJob) As DBResult
table.Columns.Initialize
table.rows.Initialize
table.Tag = Job.Tag
If jobTagAnterior <> Job.Tag Then LogColor("HandleJob: '"&Job.Tag&"'", Colors.Blue) 'Mod por CHV - 211023
jobTagAnterior = Job.Tag 'Mod por CHV - 211023
If jobTagAnterior <> Job.Tag Then LogColor("HandleJob: '"&Job.Tag&"'", Colors.Blue) 'Mod por CHV - 211109
jobTagAnterior = Job.Tag 'Mod por CHV - 211109
If method = "query" Then
Dim numberOfColumns As Int = ReadInt(In)
For i = 0 To numberOfColumns - 1
@@ -223,7 +224,7 @@ Public Sub HandleJob(Job As HttpJob) As DBResult
Next
End If
In.Close
' Log("HandleJob: " & (DateTime.Now - start))
' Log("HandleJob: " & (DateTime.Now - start))'Comentado por CHV - 211112
Return table
End Sub
'Reads a file and returns the file as a bytes array.
@@ -235,7 +236,6 @@ Public Sub FileToBytes(Dir As String, FileName As String) As Byte()
out.Close
Return out.ToBytesArray
End Sub
'Converts an image to a bytes array (for BLOB fields).
Public Sub ImageToBytes(Image As Bitmap) As Byte()
Dim out As OutputStream
@@ -244,7 +244,6 @@ Public Sub ImageToBytes(Image As Bitmap) As Byte()
out.Close
Return out.ToBytesArray
End Sub
'Converts a bytes array to an image (for BLOB fields).
Public Sub BytesToImage(bytes() As Byte) As Bitmap
Dim In As InputStream
@@ -253,7 +252,6 @@ Public Sub BytesToImage(bytes() As Byte) As Bitmap
bmp.Initialize2(In)
Return bmp
End Sub
'Prints the table to the logs.
Public Sub PrintTable(Table As DBResult)
Log("Tag: " & Table.Tag & ", Columns: " & Table.Columns.Size & ", Rows: " & Table.Rows.Size)

View File

@@ -66,7 +66,7 @@ ModuleClosedNodes16=
ModuleClosedNodes17=
ModuleClosedNodes18=
ModuleClosedNodes19=
ModuleClosedNodes2=
ModuleClosedNodes2=2
ModuleClosedNodes20=
ModuleClosedNodes21=
ModuleClosedNodes22=
@@ -82,10 +82,6 @@ ModuleClosedNodes6=
ModuleClosedNodes7=
ModuleClosedNodes8=
ModuleClosedNodes9=
<<<<<<< HEAD
NavigationStack=B4XMainPage,B_SERVER_Click,704,0,B4XMainPage,lv_server_ItemClick,719,0,B4XMainPage,CheckNotificationAccess,744,0,B4XMainPage,b_envioBD_Click,743,0,B4XMainPage,B4XPage_Appear,307,0,NotificationService,NotiMon_NotificationPosted,40,0,NotificationService,Service_Destroy,29,0,NotificationService,Service_Start,22,0,C_Principal,Subir_Click,633,0,Subs,traeMaxPromos,975,0,Subs,alcanzanLosVariablesParaPromo,954,0
=======
NavigationStack=B4XMainPage,b_envioBD_Click,743,0,Visual Designer,principal.bal,-100,5,FileHandler,Class_Globals,13,0,FileHandler,Initialize,24,0,B4XMainPage,B4XPage_Created,135,6,B4XMainPage,Class_Globals,88,0,B4XMainPage,b_importarBD_Click,770,0,B4XMainPage,CheckNotificationAccess,761,0,Visual Designer,login.bal,-100,6,B4XMainPage,i_engrane_Click,701,6
>>>>>>> 0a89a37668b0333c8b54d028f163148c7f807f0c
NavigationStack=B4XMainPage,b_importarBD_Click,770,0,B4XMainPage,CheckNotificationAccess,761,0,Visual Designer,login.bal,-100,6,B4XMainPage,i_engrane_Click,701,6,C_Principal,Class_Globals,0,0,DBRequestManager,Initialize,24,0,B4XMainPage,B4XPage_Created,173,6,C_Principal,cargar_Click,931,0,DBRequestManager,PrintTable,267,0,C_Principal,JobDone,974,0
SelectedBuild=0
VisibleModules=2,12,25,16,26,5,4,6,7,8