# How to do some setup before starting any entrypoint

**URL:** <https://discourse.nameko.io/t/how-to-do-some-setup-before-starting-any-entrypoint/301>\
**Category:** Github Issues\
**Created:** [August 13, 2018, 9:33am UTC](https://discourse.nameko.io/t/how-to-do-some-setup-before-starting-any-entrypoint/301 "2018-08-13T09:33:15Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![mattbennett](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.nameko.io/mattbennett/32/13_2.png) [@mattbennett](https://discourse.nameko.io/u/mattbennett)\
**Post date:** [August 13, 2018, 9:33am UTC](https://discourse.nameko.io/t/how-to-do-some-setup-before-starting-any-entrypoint/301/1 "2018-08-13T09:33:15Z")

</div>

_From @xqliang on Thu Oct 12 2017 07:22:45 GMT+0000 (UTC)_  
  
I want to do some process setup before starting any entrypoint, such as loading data from database to local memory via [nameko-sqlalchemy DependencyProvider](https://github.com/onefinestay/nameko-sqlalchemy).

But the nameko-sqlalchemy is a DependencyProvider, and I can’t create a new DependencyProvider rely on it.

Can you introducing an initialization class method, which will be execute after all DependencyProvider started and before starting any EntryPoint?  
  
_Copied from original issue: [https://github.com/nameko/nameko/issues/482](https://github.com/nameko/nameko/issues/482)_

---

<div class="post-metadata">

**Author:** ![mattbennett](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.nameko.io/mattbennett/32/13_2.png) [@mattbennett](https://discourse.nameko.io/u/mattbennett)\
**Post date:** [August 13, 2018, 9:33am UTC](https://discourse.nameko.io/t/how-to-do-some-setup-before-starting-any-entrypoint/301/2 "2018-08-13T09:33:17Z")

</div>

_From @mattbennett on Thu Oct 12 2017 21:31:25 GMT+0000 (UTC)_  
  
`DependencyProvider.setup` or `DependencyProvider.start` is the place to do this. You can subclass the nameko-sqlalchemy DependencyProvider to implement or override these methods:

```python
from nameko_sqlalchemy import DatabaseSession

class MemoryLoadingDatabaseSession(DatabaseSession):
    def start(self):
        session_cls = sessionmaker(bind=self.engine)
        session = session_cls()
        ... # load data into memory
        session.close()

```
