Hi All,

Im using Outsystems 11 environment.


I have an application which makes use of some external database tables with an extension module.

And I have created some entities as well.


Case in for example I have extension entity with Original name EntityA and I have defined its name as En. Extension Entity is defined as below




Now I have created a Outsystems Entity with name as EntityA.


Im making use of these entites in timer will this cause any issue while timer execution. 

And also would like to know is this a wrong procedure.

Because I was getting an error as below when the timer execution starts


Scheduler Service: Error executing request http://126.0.01:80/Application/ for Activity Create_En


And also I would like to whether the timer runs in the Front End server or in Deployment Controller.


Thanks Advance

Hi,

Can you paste the full error?

The timers run in the Front End. Check this document the part "How timers are executed"

Regards,

Marcelo

Marcelo Ferreira wrote:

Hi,

Can you paste the full error?

The timers run in the Front End. Check this document the part "How timers are executed"

Regards,

Marcelo


Hi Marcelo,


Detailed Log:


eSpaceVer: 0 (Id=0, PubId=0, CompiledWith=11.0.211.0)
RequestUrl:  (Method: )
AppDomain: Scheduler.exe
Path: F:\Program Files\Outsystems\Platform Server\
Locale:
DateFormat: yyyy-M-d
PID: 2180 ('Scheduler', Started='9/18/2019 4:07:55 AM', Priv=45Mb, Virt=673Mb)
TID: 18
Thread Name: Activity Processor #2
.NET\: 4.0.30319.42000
Stack:
The operation has timed out
   at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
   at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at OutSystems.HubEdition.RuntimePlatform.Processes.ActivityHandler.ExecuteActivityActionv2(String ssKey, Int32 activityId, Int32 processId, Int32 tenantId, ActivityStatus forInitialStatus, DateTime previousNextRun)
   at OutSystems.Scheduler.Core.ActivityJob.Execute()
   at OutSystems.Scheduler.Core.SchedulerProducerConsumer`1.Execute(Job job)



Thanks

Hi,

can you send us print screen of your timer action? It will get info for us to analyze the situation.


because error described as timeout, are you calling any web service? 

 Thanks 

Balasubramanian 

Hi Ajithkumar,

did you tried to run the timer by changing outsystems entity name from EntityA to some other name? 


For second question:  I would like to whether the timer runs in the Front End server or in Deployment Controller

Timers can run on both Front end as well as Deployment controller, that all depends on your environment confirguration. You can check this in service center Administration tab. Also you can configure for each server whether timers or process can run or not.


Balu Prakasam wrote:

Hi,

can you send us print screen of your timer action? It will get info for us to analyze the situation.


because error described as timeout, are you calling any web service? 

 Thanks 

Balasubramanian 


Hi Balu,


I use only Advanced SQL query widget inside my action no webservice calls are made.


Also I received below error once the above error occurs


Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
The statement has been terminated.

Hi,


First of all you need to check in your code what is the cause of the timeout and optimize it.

You have also the option to change the timeout of the Timer.

Luis Dinis wrote:

Hi,


First of all you need to check in your code what is the cause of the timeout and optimize it.

You have also the option to change the timeout of the Timer.

Timeout error can be ignored. But the main question is what I asked at first. Will that cause any problem.


Hi,

Using those entity names shouldn't be a problem since those are only display names. The physical table names on the database server are others and the connection to the DB is also different.

Regards,

Marcelo

Marcelo Ferreira wrote:

Hi,

Using those entity names shouldn't be a problem since those are only display names. The physical table names on the database server are others and the connection to the DB is also different.

Regards,

Marcelo

Thanks for your time.


However I could see in OSSYS_ENTITY table the record is created with same name.


IdPHYSICAL_TABLE_NAMENAMEESPACE_ID
515OSUSR_pp2_entityAEntityA54
593`extension`.`entityA`EntityANULL


Is that sure it will not cause a problem?

Hi Ajithkumar,

1. OutSystems does not allow name clashes (most of the time, anyway). So, I would say that the name of the entities are not a problem.

2. You are reporting a timeout error, apparently when you try to create a record in the external entity. Is that correct? 

Did you set the connection your extension should use, after you published the extension? This is done in the Service Center, you go to the extension and set the connection it must use. E.g.

Could be other things as well. For example, the user you used to the connection with the external database do not have rights to write to it, etc.

Hope this helps.

Cheers.

P.S. Being in different modules, the "name" of the entity can be the same. When doing a reference in a consumer, to an entity in a producer, if there is already an entity with the same name, it will automatically change it.