Serverside actions

ServerSide actions are used when you want to delegate work to the MDrivenServer.

Reasons for delegating to the MDrivenServer might be that you want a single performer (i.e. synchronous execution). This is the case when assigning numbers that must be unique. Other scenarios include calling remote systems to update data, or sending emails.

Activate serverside jobs for a ViewModel
2017-02-06 12h39 29.png

On the ViewModel Root class, choose the action "Edit criterias for server side execute". You will then see a different colour green edit area to edit serverside execution.

Serverside editing area.png
Serverside settings
Interval how often is this checked by the server
Serialized Blocking when true, the job should be small and quick - it is done within the main loop of server actions. If the job is long-running/slow it is better to leave it as FALSE so that the server responds to admin events faster (evolve, check checksum, etc)
Max Answers The PS Ocl expression will return this many at most - -1 is unlimited.
Pre EAL Action language that will be executed before PS-OCL. One example of usage is:
You do not need anthhing here but a good example is if you want to limit on a Time:
vYesterday:=DateTime.Today.AddDays(-1)  -- vYesterday must be a ViewModel variable

You can also use this to set something in your model that changes an Access Group that enables this viewmodel to be processed serverside.

PS OCL The expression the server will run every "Interval"-seconds, just after the Pre EAL has executed. The result from the expression should be a list of objects of the same class that your ViewModel root has.

For each item in the result, a ViewModel will be created and it's actions will be executed in order from top to bottom. Any changed data will be automatically saved to the database.

Example:
2017-02-06 12h58 38.png
This page was edited 8 days ago on 04/27/2024. What links here