Example: runWithDb

#!/usr/bin/env python3

from ophyd import Signal, Device, Component as Cpt

from ophyd import DeviceStatus
import threading
import numpy
import random
from bluesky import RunEngine
from databroker.v2 import temp
from bluesky.plans import count
from bluesky.callbacks import CallbackBase
from pprint import pprint
from ophyd.sim import motor1, det1
from bluesky.plans import scan

class MyCallback(CallbackBase):
    def start(self, doc):
        print("\n\nI got a new 'start' Document")
        pprint(doc)
        # Do something
    def descriptor(self, doc):
        print("I got a new 'descriptor' Document")
        pprint(doc)

        # Do something
    def event(self, doc):
        print("I got a new 'event' Document")
        pprint(doc)

        # Do something
    def stop(self, doc):
        print("I got a new 'stop' Document")
        pprint(doc)

        # Do something
def main(): 

    RE = RunEngine()
    db = temp()
    RE.subscribe(db.v1.insert)
    RE(count([det1],10))
        
    
    RE.subscribe(MyCallback())
    #RE(count([rand1], num=10))

    dets = [det1]
    RE( scan( dets, motor1, -1, 1, 5))

    run = db[-1]
    print( "primary.read") 
    print( repr(run.primary.read()))
    print( "primary.config") 
    print( repr(run.primary.config()))
    
    return

if __name__ == "__main__":
    main()