Finesse database backends
See original GitHub issueTop Results From Across the Web
Finesse Overview - Finesse - Document
A Cisco DB is an Informix relational data service provided by the VOS platform that is used by Finesse for storing its configuration...
Read more >Cisco Finesse Web Services Developer Guide Release 11.6(1)
The following sections describe the parameter and data types for the Cisco Finesse APIs. API Header Parameters. Description.
Read more >Deployment Guide 2.1 - Call Parking Finesse Gadget
After changing the database and frontend application configurations, restart the tomcat service. Test the Backend. To test the successful deployment, hit the ...
Read more >Cisco Live 2014
with the Finesse desktop, configuring and customising it to meet ... Internal database of configuration information such as reason codes, phone books.
Read more >Finesse Agent Login Trace with the Use of Logs
Keep in mind that the Finesse Reason Codes and PhoneBook are stored in the Finesse database, not in UCCE. Updated: Jul 22, 2013...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
You might find this helpful: https://github.com/encode/starlette/pull/390
You will want to connect/disconnect the database connection pool on startup/shutdown.
Nope, you don’t call
.connect()
and.disconnect()
. Connections are managed for you, and you can wrap up operations in a transaction if you want to isolate a set of operations. Contection/Transaction management is dealt with using task-local storage, sodatabases
is always able to find out whatever the current connection is.“On the other side, I want to have docs of how to use “standard” SQLAlchemy ORM models in FastAPI” - You can’t use SQLAlchemy ORM with any async web framework. Or at least, you can, but you need to run the operations within a threadpool. If you’re using Starlette and you just write an endpoint as a standard function (non-async) then it’ll do that for you and you can use SQLAlchemy from there just fine. You’re then in a standard threaded context.
Yes exactly. I think you’d need to explicitly start and close an SQLAlchemy “session” once you’re in the running-in-a-threadpool block.
An SQLAlchemy middleware would be really good, and would be something we’d certainly be able to recommend in Starlette. Thinking about it a bit more, the session setup/close might have to run inside the same thread as the endpoint, since I’m pretty sure SQLAlchemy ORM must use thread-local storage. If that’s the case then you might need to start out implementing it as a decorator. (Perhaps have a look if there’s anything like that already, that wraps a function up inside a single SQLAlchemy session) - It’d be really good to also be able to recommend a good integration for working with SQLAlchemy/sync-views, as an alternative to the low-level databases/async-views option. (Or indeed GINO or whatever else)
Thank you so much for the discussion, also to @succerror for the example that got me started. I have a couple of tricks to share:
Here is an example, using SQLA 1.4b1 which supports async:
Note that you don’t need the async_session contextvars, it’s only useful if you want to abstract away the SQLA session object like so:
I’m sorry for not presenting code that is as polished as yours, but I hope this can still be useful to others who are trying to get started.
This has not been tested in production. However, here is an additional trick you can take for free: pytest support
However, this will require a patched version of pytest-asyncio which maintains the contextvars for a test. But this will allow the User model to work outside of the requests, which allows you to test like with Django: