Marketmaker no longer tries to run instructions in parallel. (I hope this is a temporary fix.)
This commit is contained in:
parent
6f86e83160
commit
7e7c21c0aa
|
@ -133,6 +133,19 @@ class CombinableInstructions():
|
|||
|
||||
return results
|
||||
|
||||
def execute_individually_and_continue_on_failures(self, context: Context) -> typing.Any:
|
||||
results = []
|
||||
for instruction in self.instructions:
|
||||
transaction = Transaction()
|
||||
transaction.instructions += [instruction]
|
||||
try:
|
||||
response = context.client.send_transaction(transaction, *self.signers, opts=context.transaction_options)
|
||||
results += [context.unwrap_or_raise_exception(response)]
|
||||
except:
|
||||
self.logger.error(f"Error executing individual instruction {instruction}")
|
||||
|
||||
return results
|
||||
|
||||
def execute_and_continue_on_failures(self, context: Context) -> typing.Any:
|
||||
chunks: typing.Sequence[typing.Sequence[TransactionInstruction]
|
||||
] = _split_instructions_into_chunks(self.signers, self.instructions)
|
||||
|
|
|
@ -76,10 +76,9 @@ class MarketMaker:
|
|||
place_order = self.market_instruction_builder.build_place_order_instructions(to_place_with_client_id)
|
||||
place_orders += place_order
|
||||
|
||||
settle = self.market_instruction_builder.build_settle_instructions()
|
||||
# TODO - need to fetch OpenOrders addresses appropriate to market
|
||||
crank = self.market_instruction_builder.build_crank_instructions([])
|
||||
(payer + cancellations + place_orders + crank + settle).execute_and_continue_on_failures(context)
|
||||
settle = self.market_instruction_builder.build_settle_instructions()
|
||||
(payer + cancellations + place_orders + crank + settle).execute_individually_and_continue_on_failures(context)
|
||||
|
||||
self.pulse_complete.on_next(datetime.now())
|
||||
except Exception as exception:
|
||||
|
|
Loading…
Reference in New Issue