-
Posts
626 -
Joined
-
Last visited
-
Days Won
21
Content Type
Profiles
Forums
Events
Posts posted by Wilton Ergon
-
-
Your project is very interesting, it adds a lot of value to the unigui, you can be sure that we will acquire a license soon ..
I particularly think that the responsiveness feature that Farshard has already promised us, could be the way you did it, in which case he could create the specific properties for that, so as not to use hint as a configuration mechanism.
e sim, sou seu vizinho aqui do tocantins..
-
On 18/02/2021 at 23:20, Ronbral said:
Olá, Wilton; que impacto negativo do uso do cronômetro você detectou?
http://unigui.com/resources/online-documentation/component-reference-manual
find sequenced
-
On 13/02/2021 at 11:27, erich.wanker said:
olá .. pergunta curta - e eu sei que não é possível responder .. mas espero que alguém possa dar uma estimativa 🙂
QUANTOS USUÁRIOS PODEM TRABALHAR (criar, editar, atualizar e excluir registros) simultaneamente em tal hardware
Hardware:
-
- Tipo: Servidor Dedicado L
-
- RAM: 16 GB
Programas:
- Windows Sever 2019
- Servidor Apache
- Exe UniGui (via Hyperserver.dll) com tamanho de 30 MB
- Conexão a um banco de dados MySQL (local) com 30 tabelas á 20 campos / com ZeosLib no MainModule
- o aplicativo usa muitos uniDGBrids / forms com uniDBEdit / ... tem 20 formulários e 20 frames
- ...
there are a multitude of factors that can influence this calculation.
some suggestions:
if you open your forms in tabs, avoid leaving too many tabs open, I limit it to a maximum of 4, when the user opens to 5, I remove it to 1,
avoid opening your queries with select * from table
open your forms without data, and offer a search feature, and limit the return on that search.
avoid using sequeced timer enabled.
avoid using forms, use frames instead.
avoid leaving the system open indefinitely, set a time limit to end the application without use.
my application has about 350 forms and consumes an average of 15 mb per user.
having more memory, and more processor, does not mean that you can add new users in the same proportion, you can reach the limit of the operating system, even if you do not use all available memory and processor.
if you have a large capacity server, it is better to create virtual machines on that server, than to use only a large server.
- 2
-
-
var IDLE_TIMEOUT = 600; // 10 minuts
var _idleSecondsCounter = 0;
document.onclick = function() {
_idleSecondsCounter = 0;
};
document.onmousemove = function() {
_idleSecondsCounter = 0;
};
document.onkeypress = function() {
_idleSecondsCounter = 0;
};
window.setInterval(CheckIdleTime, 1000);function CheckIdleTime() {
_idleSecondsCounter++;
var oPanel = document.getElementById("SecondsUntilExpire");
if (oPanel)
oPanel.innerHTML = (IDLE_TIMEOUT - _idleSecondsCounter) + "";
if (_idleSecondsCounter >= IDLE_TIMEOUT) {
ajaxRequest(FrmPrincipal.form, '_idle_timeout', []); ///-> *****
}
}
****
I was not referring correctly to the form. putting the correct name, performed correctly.
procedure TFrmPrincipal.UniFormAjaxEvent(Sender: TComponent; EventName: string;
Params: TUniStrings);
begin
if EventName = '_idle_timeout' then
begin
uniGUIApplication.UniSession.Terminate('Sua conexão foi encerrada por inatividade de mais de 10 minutos');
end;end;
this event does not fire at the login screen, I put the same code there too, but with just 1 minute (enough time for the user to enter the password),
this prevents the system from being open on the login screen indefinitely- 1
-
it already exists in time and natively.
-
You are using a hyperserver, and each client has its own website, the configured ports are in conflict, with that one client ends up opening the session of the other.
- 1
-
there are dozens of topics on the forum talking about it, but none that I've tried works.
my timeout is working properly, and ends application in 10 minutes of inactivity, I would just like to display a warning to the user when the inactivity timeout occurs.
already tried to approach this link without success.in the script, I tried to change mainmodulo by frmprincipal (because it is the name of my main form.
when the time limit is reached, when the user clicks on something, he goes back to login, the user thinks that the connection has fallen due to system failure. and I need to warn him that it is due to the time he spent without using the system.
I also tried to use the mainmodule sessiontimeout event, but it is not fired.
procedure TUniMainModule.UniGUIMainModuleSessionTimeout(ASession: TObject;
var ExtendTimeOut: Integer);
begin
showmessage('Tempo expirado',nil);
end;unigui 1.90.0.1526
sessiontimeout 600000 in servermodule
hyperserver
[node_recycling]
enabled=1
recycle_after_secs=3600
recycle_after_sessions=0
recycle_after_idle_secs=700
recycle_when_empty=1 -
here it crashes when it reaches 250 thousand identifiers.
-
in the task manager, you can tell me, how many processes and identifiers are being shown on your server, because I have a server with 32 gb ram and 8 colors, and even with low memory and processor usage, the server ends up crashing, due to large amount of processes.
-
thanks for your answer.
with your answer, I understood that it’s not a good idea to have so many sites running on the same server with hs,
having only one website and setting max_nodes = 50 would be smarter.
I made the adjustment now, and I will monitor. -
unigui 1.90.1526
delphi 10.3
sdac connection with sql server web
I have had freezes on my server, and the only thing I noticed was the high number of processes being executed when this occurs.my scenario, has a load balancer with nginx, and 3 servers with unigui.
I have about 90 sites on each of the servers, with a hyperserver, and since each site can load up to 10 instances of my system, this can generate up to 900 instances running at the same time.
even with low cpu and memory usage, the server simply freezes,
having only 1 site for all clients with hyperserver, in that case would it be better ?, because it would have less executables running at the same time.
or maybe this is another problem and it has nothing to do with it.
see the printout of the last server crash.
-
tsplus, uses the windows terminal service protocol, it actually makes a crack of the terminal service dlls. so the license is much cheaper than the windows own ts.see price comparison with other remote access solutions that have their own communication protocol, such as citrix and go-global.
-
tsplus, requires purchase of license for your vcl application to be accessed remotely.weaknesses:
on the same server you can have 100x or more, more unigui users, than using tspluscomplicated printing, depends on printer installation on the server.
license cost.
your system even accessing through a url in the browser, it cannot be called a web system.
if you are already migrating to unigui, it makes no sense to keep your vcl project active. keep everything in one place.
-
I found the amount of novice users on the forum strange, giving good recommendations from the radcore, such recommendations would be less strange if they came from old users of the community, this is looking like some robots created by the creator of the radcore to speak well of himself.
I hope I'm wrong about that doubt.
-
yes, the correct one and as already explained,
and you create a new connection independent of your database,
make the connection at the beginning, and at the end disconnect.UniThreadTimer1.enabled :=false;
try
db :=tfdconnection.create(self);
db.... you parameters connection load ini ....
db.open;
db.execsql('your DELETE....');
finally
begin
db.close;
Freeandnil(db);
UniThreadTimer1.enabled :=true;
end;
end; -
I have 2 folders with the project, in the create of the servicemodule, I capture an ini key to allow changing the name of the service. I can install the 2 services via command prompt as an administrator by typing taskreportserver_s / install when I go to the list of windows services, and I try to start, it does not start .. starts only when the name property is not changed
-
-
I have a project that needs to be started as a service on different doors,
each will have its separate installation folder.
and the same project that needs to be started 2 times.tried to set in create uniservicemodule
the name propertyprocedure TUniServiceModule.UniGUIServiceCreate(Sender: TObject);
var s:string;
begin
s :=LerNoIni2('CONFIG','NOME DO SERVICO');
displayname:='TaskReport Service'+s;
NAME :='UniServiceModule'+s;
end;
The service is installed but does not start.only starts when the service name is not changed
that is
When
s: = LerNoIni2 ('CONFIG', 'SERVICE NAME');
it's empty -
On 14/09/2018 at 14:19, Jancarlos Martins said:
Tudo bem,
olha ai,
www.uniscript.com.br:8077/?app=samples
www.uniscript.com.br:8077/?app=dashboard1
www.uniscript.com.br:8077/?app=dashboard2
www.uniscript.com.br:8077/?app=jquery
tudo script .pas e .dfm, um único executavel vai rodar vários projetos.
fora do ar
-
when running an application on your phone, in chrome there is a menu where you can make the browser behave like the computer, the usability is much better using this feature, there is some javascript code that can enable this browser feature by unigui, because that way I could put a button on my main form to adjust this setting
-
this will save me about 120 $ per month, I use a linux server with ngix just to do the load balancer .. this native resource will be of great use.
- 2
-
you have to use a report tool, which generates this pdf on the server, such as report builder, fastreport and others.if your user changes the text in a richtext component, and then you generate the report, you will have a problem, because unigui does not have a native component that works with richtext, it only has an html editor
-
you have to handle the decoupling of routines well, you can easily share functions in .pas files between several unigui projects, just be careful with references to objects from other forms, pass everything by parameter, including the connection object. the idea of working with dll can even be valid, the problem is that for each dll a new connection to the database will be made.
-
when you say 'it hasn't been fixed yet' it looks like you, or some user of yours discovered it a long time ago, it makes it look like you're using an illegal copy of the software.
in all my projects, and I remove the edges of the forms, and use a custom close button, so I never had this problem
- 1
- 1
Invalid session or session Timeout
in General
Posted
I transferred my system to another datacenter, the freezing of windows stopped, it was a problem on the host servers I was using.
in the new datacenter, sometimes I have a high cpu load reaching 100% of use, but windows do not crash,
I am still doing countless reviews on my project, because I have a great structure, and the high use of CPUs worries me a lot.
I have 5 cloud servers with 16 gb and 6 colors each, plus a database server with 128 gb memory, and I do the load balancer between servers with nginx, this should be enough for at least 2 thousand simultaneous users, and i am trying high cpu load with 30% of that amount.