Skip to content

Computing-Tabulating-Recording Co

Compare
Choose a tag to compare
@shadeofblue shadeofblue released this 16 Jun 13:30
· 55 commits to b0.6 since this release

Changelog

Major changes

  • Make Golem class the new entrypoint for the API, extract common parts into an the internal _Engine (#365)
  • Add yapapi.service - new high-level API for Services (#383)

Additonal features

  • Enable using asynchronous task iterators as sources of tasks (#360)
  • Add support for execution script output capturing (with optional blocking) (#367)
  • Add WorkContext.terminate() method (#411)
  • Allow parametrization of WorkContext.start() (#409)
  • New example: Simple Service POC (#303)
  • New examples: minimal batch and minimal service (#421)

Fixes

  • Update versions for some dependencies to fix poetry solver issues (#395)
  • Fix passing command errors from the engine to worker functions (#394)
  • Wait for instance tasks before shutting down a Cluster (#423)
  • Always cancel process_invoices_job when shutting down the Golem engine (#452)
  • Silence asyncio.CancelledError when awaiting the just-cancelled task (#449)

Documentation updates

  • Adjust README.md to changes in the API (#451)
  • Add missing docstrings for public classes and methods (#416)
  • Add a docstring for the Golem class (#447)
  • Add some comments to the SmartQueue (#357)
  • fix DemandBuilder example usage (#382)

Other updates

  • Refactor yacat example to use the updated API (#403)
  • Blender example: do not overwrite blender example debug logs (#361)
  • Replace message in events.CommandExecuted with stdout and stderr (#379)
  • Immediately terminate agreement after service instance finishes (#420)
  • Move Golem and Job from yapapi.executor.__init__ to yapapi.golem (#431)
  • Move some modules from yapapi/executor to yapapi/ (#434)
  • Make the default Service.run() await indefinitely instead of yielding None in a loop (#448)
  • Make summary logger the default event consumer (#428)
  • Use devnet-beta.2 as the default subnet in examples (#413)

Internal changes

  • Make find_offers() an Executor method; handle offer proposals concurrently (#306)
  • Refactor SmartQueue to work correctly with asynchronous task iterators (#399)
  • Enable multiplexing of command batches and control signals in the services' state handler (#408)

Integration testing

  • Add an integration test that starts blender example in goth (#281)
  • Add an integration test for multi-activity agreement (#350)
  • Add nightly workflows for goth tests (#363)
  • Use goth package from PyPI (#309)
  • Bump goth version to 0.3.* (#405)