go-workflows
go-workflows copied to clipboard
add Turso backend implementation
This implementation is similar to the SQLite backend, with some modifications. Instead of the previous driver, I switched to using the libsql client. Additionally, I made changes to the NewDatabase
function parameters to support the Turso DSN.
If you prefer, you can still utilize the NewInMemoryBackend
method, in which case the driver will fallback to using modernc.org/sqlite
.
I removed the 'ReadOnly' transaction option since the libsql client currently does not currently support it.
I have tested this backend implementation with my current workflow, and it functions flawlessly.
Overall, these modifications have allowed me to successfully run the client within my application and the worker as a standalone application.
I also have plan to create an example similar to
Temporal money transfer
example to demonstrate how to use Turso with go-workflows