Skip to content

0.21.0

Compare
Choose a tag to compare
@kalaspuff kalaspuff released this 10 Feb 18:56
· 1430 commits to master since this release
47c4c66
  • Uses the socket option SO_REUSEPORT by default on Linux unless specifically disabled via the http.reuse_port option set to False. This will allow several processes to bind to the same port, which could be useful when running services via a process manager such as supervisord or when it's desired to run several processes of a service to utilize additional CPU cores. The http.reuse_port option doesn't have any effect when a service is running on a non-Linux platform. (github: @tranvietanh1991)
  • Services which works as AMQP consumers now has a default prefetch count value of 100, where previously the service didn't specify any prefetch count option, which could exhaust the host's resources if messages would be published faster to the queue than the services could process them. (github: @tranvietanh1991)
  • AWS SNS+SQS calls now uses a slightly changed config which will increase the connection pool to 50 connections, decreases the connect timeout to 8 seconds and the read timeout to 35 seconds.
  • Possible to run services using without using the tomodachi CLI, by adding tomodachi.run() to the end of the Python file invoked by python which will start services within that file. Usually in a if __name__ == "__main__": if-block.
  • The environment variable TOMODACHI_LOOP can be used to specify the event loop implementation in a similar way as the CLI argument --loop [auto|asyncio|uvloop] would.
  • Environment variable TOMODACHI_PRODUCTION set to 1 can be used to run the service without the file watcher for automatic code reloads enabled, which then yields higher performance. Equivalent as starting the service with the --production argument.
  • Smaller performance improvements throughout the framework.
  • Improved error handling overall in regards to non-standard exceptions and additional output, if scheduled tasks are unable to run due to other start methods not completing their initial setup.