Skip to content

Tags: slawlor/ractor

Tags

v0.15.8

Toggle v0.15.8's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fix non-semver break (#385)

Will yank 0.15.7

v0.15.7

Toggle v0.15.7's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Update ractor to 0.15.7 (#380)

* Update ractor to 0.15.7

Semver checks are clean indicating no need for a major release with these changes

```
$ cargo semver-checks -p ractor
    Building ractor v0.15.7 (current)
       Built [   8.412s] (current)
     Parsing ractor v0.15.7 (current)
      Parsed [   0.012s] (current)
    Building ractor v0.15.6 (baseline)
       Built [   7.274s] (baseline)
     Parsing ractor v0.15.6 (baseline)
      Parsed [   0.012s] (baseline)
    Checking ractor v0.15.6 -> v0.15.7 (minor change)
     Checked [   0.035s] 140 checks: 140 pass, 37 skip
     Summary no semver update required
    Finished [  20.651s] ractor
```

* DerivedActorRef::send_after bug fix + test coverage

* Formatting

---------

Co-authored-by: Utku Demir <utku@rilla.network>

v0.15.6

Toggle v0.15.6's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fix bug in draining non-factory-queued routing (#353)

* Add thread-local documentation

* Fix bug in draining non-factory-queued routing

When the queueing occurs on workers directly, the factory wasn't tracking the in-flight message count correctly, such that the worker might still have work in-flight when requesting a draining operation.

This change fixes 2 things

1. The evaluation of if a worker is "empty" of all jobs, i.e. drained
2. The tracking of the current job on the worker, when a worker has locally dequeued the next job.

Test coverage added for this scenario. Prior to the fix, the added test fails with

```
thread 'factory::tests::draining_requests::test_worker_drains_when_worker_queueing' panicked at ractor/src/factory/tests/draining_requests.rs:221:5:
assertion `left == right` failed
  left: 999
 right: 1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```

* bump version for fix release

v0.15.5

Toggle v0.15.5's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
[cleanup] Cleanup docs and other stuff on new thread-local actors (#350)

v0.15.4

Toggle v0.15.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
thread-local actors (#349)

This PR adds supports for a new actor trait, ThreadLocalActor, which doesn't require the actor now it's internal state to be Send.

This however does require that it be thread-local and be pinned to execution on a single thread.

Additionally, due to the actor itself not being Send, we require that the actor handler implement Default so that it can be constructed on the local thread, only when needed.

This should additionally enforce best-practice, as &self in actors shouldn't hold variables, rather should be delgated to Arguments and State

v0.15.3

Toggle v0.15.3's commit message
fix again the getrandom dep

v0.15.2

Toggle v0.15.2's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Add ability for a factory's internal state to be updated dynamically (#…

…333)

This allows someone to say reload configeration settings, and internally tear-down and rebuild the factory without fully shutting down and restarting.

Some settings are not dynamically settable without tearing down and rebuilding the factory, unless we want to introduce more strong-types to the message type. This includes, unfortunately, the worker builder, queue, and router.

For settings on those two, there are two choices. (1) tear down and rebuild the factory or (2) thread in dynamic settings to your router and/or queue protocols such that they can internally change their functionality.

v0.15.1

Toggle v0.15.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Missed an edge condition when we're ratelimiting that we might no lon…

…ger respect routing protocols (#332)

v0.15.0

Toggle v0.15.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Generalize the factory routing product & add rate limiting support (#331

)

* Generalize the factory routing product to be used in all routing decisions so we can centralize future handling logic related to rate limiting.

The goal is to add a general rate limiting offering which can be used at the routing layer, right before sending the job to a worker.

* Finish the rate limiting plumbing and add tests around the ratelim wrapper

* Added leaky-bucket rate limiter & prep for v0.15 release

v0.14.7

Toggle v0.14.7's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fix async-std and re-enable Ci for async-std builds (#327)