You are on page 1of 1

StateLess Property

--------------------
It is recommended to keep top-level services as stateless always, unless it is c
alled by clients for whom you want to maintain sessions (example: same client ca
lling your service very often).
Setting stateless property to false will cause IS to send back cookies, maintain
sessions in the IS, which adds up into heap usage and additional overhead in ma
naging the sessions. setting it to true will avoid these tasks, however, auth ha
ppens everytime user attempts to connect.
Unless you want session to be maintained, set stateless property to true.
NOTE: The Stateless property only applies to top-level services, i.e. the entry-
point service invoked by the client. The Stateless property of lower-level servi
ces (invoked by the top-level service) are ignored.
Stateful services#
If a service invoked by a client is stateful (Stateless=False), then IS establis
hes a session and passes the session ID to the client in the session cookie. Aft
er the service invocation, IS keeps the session object in memory for future call
s.
Stateless services#
If a stateless service is invoked (Stateless=True), then IS still establishes a
session, but it immediately terminates that session as soon as the top-level ser
vice completes and it does not pass a session cookie back to the client. Use of
stateless services can help improve performance of an IS by releasing session re
sources as soon as they are no longer needed.
TimeOut
---------------
Optional. Specifies the maximum number of seconds that this
step should run. If this time elapses before the step completes, the
server waits for the step to complete and then raises an exception.
Scope
------------
The name of a document (IData object) in the pipeline to
which you want to restrict this step. If you want this step to
have access to the entire pipeline, leave this property blank.
The scope property takes a single string setting that is the "path" of the sub-p
art of the pipeline that should go to a service.
For instance if the top level of your pipeline has lots of stuff in it, but all
the parameters for myFolder:myService are in the Record myParams, which is in th
e root of the pipeline, set the scope value to /myParams.
myService would see only the _contents_ of myParams (not the containing myParams
record, so it must be addressing the children of myParams directly).
This can increase performance because the Flow Engine does some shallow cloning
of the pipeline in order to implement some basic pipeline rollback behavior. A s
hallow clone of a big pipeline that is not used by the called service is a waste
.

You might also like