Changed rpc block wrapper to use multiprocessing
This commit is contained in:
parent
8511fb42b6
commit
8712a1c401
@ -67,7 +67,7 @@ def _detect_cors_and_add_headers():
|
|||||||
|
|
||||||
class OnionrRPC(object):
|
class OnionrRPC(object):
|
||||||
@cherrypy.expose
|
@cherrypy.expose
|
||||||
def queue_rpc(self):
|
def threaded_rpc(self):
|
||||||
if _detect_cors_and_add_headers():
|
if _detect_cors_and_add_headers():
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
|
@ -5,10 +5,10 @@ from base64 import b85decode
|
|||||||
from onionrblocks import Block
|
from onionrblocks import Block
|
||||||
import onionrblocks
|
import onionrblocks
|
||||||
from jsonrpc import dispatcher
|
from jsonrpc import dispatcher
|
||||||
import ujson
|
|
||||||
|
|
||||||
from gossip.blockqueues import gossip_block_queues
|
from gossip.blockqueues import gossip_block_queues
|
||||||
from blockdb import get_blocks_after_timestamp
|
from blockdb import get_blocks_after_timestamp
|
||||||
|
from utils import multiproc
|
||||||
|
|
||||||
|
|
||||||
@dispatcher.add_method
|
@dispatcher.add_method
|
||||||
@ -19,10 +19,16 @@ def get_blocks(timestamp):
|
|||||||
@dispatcher.add_method
|
@dispatcher.add_method
|
||||||
def create_block(
|
def create_block(
|
||||||
block_data: 'base64', block_type: str, ttl: int, metadata: dict):
|
block_data: 'base64', block_type: str, ttl: int, metadata: dict):
|
||||||
# TODO use a module from an old version to use multiprocessing to avoid blocking GIL
|
|
||||||
# Wrapper for onionrblocks.create_block (take base64 to be compatible with RPC)
|
# Wrapper for onionrblocks.create_block (take base64 to be compatible with RPC)
|
||||||
bl = onionrblocks.create_anonvdf_block(
|
bl = multiproc.subprocess_compute(
|
||||||
base64.b64decode(block_data), block_type, ttl, **metadata)
|
onionrblocks.create_anonvdf_block,
|
||||||
|
3600,
|
||||||
|
base64.b64decode(block_data),
|
||||||
|
block_type,
|
||||||
|
ttl,
|
||||||
|
**metadata
|
||||||
|
)
|
||||||
|
|
||||||
return base64.b85encode(bl.raw).decode('utf-8')
|
return base64.b85encode(bl.raw).decode('utf-8')
|
||||||
|
|
||||||
queue_to_use = randbits(1)
|
queue_to_use = randbits(1)
|
Loading…
Reference in New Issue
Block a user