sasync.items.Transactor(AccessBroker)
class documentation
Part of sasync.items
(View In Hierarchy)
Known subclasses: sasync.test.test_items.TestableItemsTransactor
I do the hands-on work of non-blocking database access for the
persistence of name:value
items within a uniquely-identified
group.
My methods return Twisted Deferred
instances to the results
of their database accesses rather than forcing the client code to block
while the database access is being completed.
Construct me for the items of a particular group uniquely identified by the supplied integer ID, optionally using a particular database connection to url with any supplied keywords.
Method | __init__ | Constructor |
Method | startup | Startup method, automatically called before the first transaction. |
Method | load | Item load transaction. |
Method | loadAll | Loads all my items, returning a name:value dict. |
Method | update | Item overwrite (entry update) transaction. |
Method | insert | Item add (entry insert) transaction. |
Method | delete | Item(s) delete transaction. |
Method | names | All item names loading transaction. |
Inherited from AccessBroker:
Instance Variable | q | A property-generated reference to a threaded task queue that is dedicated to my database connection. |
Instance Variable | connection | The current SQLAlchemy connection object, if any yet exists. Generated by
my connect
method. |
Class Method | setup | Constructs a global queue for all instances of me, returning a deferred that fires with it. |
Method | singleton | Undocumented |
Method | connect | Undocumented |
Method | waitUntilRunning | Returns a Deferred that fires when the broker is running
and ready for transactions. |
Method | callWhenRunning | Calls the f-args-kw combo when the broker is running and ready for transactions. |
Method | table | Instantiates a new table object, creating it in the transaction thread as needed. |
Method | first | No summary |
Method | shutdown | Shuts down my database transaction functionality and threaded task
queue, returning a Deferred that fires when all queued tasks
are done and the shutdown is complete. |
Method | handleResult | No summary |
Method | s | Polymorphic method for working with select instances within
a cached selection subcontext. |
Method | select | Just returns an SQLAlchemy select object. You do everything
else. |
Method | selex | Supply columns as arguments and this method generates a select on the columns, yielding a placeholder object with the same attributes as the select object itself. |
Method | selectorator | No summary |
Method | execute | Does a connection.execute(*args, **kw) as a transaction, in
my thread with my current connection, with all the usual handling of the
ResultProxy . |
Method | sql | Executes raw SQL as a transaction, in my thread with my current connection, with any rows of the result returned as a list. |
Method | produceRows | No summary |
Method | deferToQueue | Dispatches callable(*args, **kw) as a task via the like-named
method of my asynchronous queue, returning a Deferred to its
eventual result. |
Startup method, automatically called before the first transaction.