You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Oct 6, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Oct 6, 2026. It is now read-only.
Get rid of Class variable storage and move to instance storage #191
I'm building an admin/monitoring server that handles requests from both out production and qa Shopify store.
In the current setup, the user/password/site_uri are stored at the class level, so I can't create a prod session and a qa session and store them in memory.
For every request to the REST server I have to clear the current class variables and set for requested environment.
Additionally, this is not thread safe. If two REST requests arrive at the same time for different endpoints, they will clobber each other.
+1 for this - very easy to solve this and will prevent unexpected behaviour for apps running under different environments (eg. threads vs processes, persistent vs cgi).
(maybe this wasn't in place when you raised this issue, I'm not sure)
@corby The sessions are actually in thread-local storage. I don't fully understand how it works (I'm reading about metaclasses now) but the ShopifyResource class somehow uses ShopifyResourceMeta properties, which are based on the _theadlocal object, an instance of threading.local.
Thanks for contributing! This package is deprecated and we're archiving this repo, so we're closing all open issues and PRs. Please use shopify-app-python instead, and open new issues there. More context: Rethinking support for PHP/Python packages
I'm building an admin/monitoring server that handles requests from both out production and qa Shopify store.
In the current setup, the user/password/site_uri are stored at the class level, so I can't create a prod session and a qa session and store them in memory.
For every request to the REST server I have to clear the current class variables and set for requested environment.
Additionally, this is not thread safe. If two REST requests arrive at the same time for different endpoints, they will clobber each other.