Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds a redis reliable queue implementation #133

Merged
merged 15 commits into from
May 21, 2023
Merged

Conversation

ZeWaka
Copy link
Collaborator

@ZeWaka ZeWaka commented May 19, 2023

fixes #129

Instead of just having a redis pub/sub model, this lets us (goonstation at least) use redis as a reliable event queue. Basically, we want to shit tons of our event logging and stuff to redis to eventually be consumed by our api and fancy~ management bits.

image

@ZeWaka ZeWaka added enhancement New feature or request Fix and removed Fix labels May 19, 2023
@AffectedArc07
Copy link
Member

AffectedArc07 commented May 20, 2023

This is giving me ideas of cool things to do.

I could refactor the entire server join queue system with this, hmmmmmmmmm.

@optimumtact
Copy link
Member

this is drafted, why?

@ZeWaka ZeWaka marked this pull request as ready for review May 21, 2023 21:32
@optimumtact optimumtact enabled auto-merge (squash) May 21, 2023 23:05
@optimumtact optimumtact merged commit 09e7367 into master May 21, 2023
@ZeWaka ZeWaka deleted the feature/redis-lists branch May 21, 2023 23:34
itsmeow pushed a commit to itsmeowForks/rust-g that referenced this pull request Dec 28, 2023
* adds project to vscode rust-analyzer config
it asked me to

* redis reliable queue implementation

* readme

* cleanup

* shit fixed

* proper redis response handling for lpop

* more clean

* okay better handling i GUESS

* updated redis crate, all my tests pass
breaking changes don't apply either

* update the cargo lock to 2.0.0

* ignore clippy for the redis_lpush match return

* fixes cellularnoise clippy lints
itsmeow added a commit to BeeStation/rust-g that referenced this pull request Dec 28, 2023
* Update time.dm (tgstation#130)

* Bump version major, due to breaking change in tgstation#130

* Try to fix the dependency issue

* Upgrade a bunch of dependencies (tgstation#134)

* Upgrade base64 to 0.21

* bump toml to 0.7.4

* Upgrade pathfinding to 4.2.1

* Upgrade git2 to 0.17.1

* update mysql crate to 24.0

* aho-corasic upgrade to 1.0 pt A
"automatic configuration is now the default."

* upgrade ahocorasic pt B

* Adds a redis reliable queue implementation (tgstation#133)

* adds project to vscode rust-analyzer config
it asked me to

* redis reliable queue implementation

* readme

* cleanup

* shit fixed

* proper redis response handling for lpop

* more clean

* okay better handling i GUESS

* updated redis crate, all my tests pass
breaking changes don't apply either

* update the cargo lock to 2.0.0

* ignore clippy for the redis_lpush match return

* fixes cellularnoise clippy lints

* dmi_strip_metadata won't remove alpha channel anymore (tgstation#136)

* pedantic and nursery clippy lints (tgstation#137)

* June `cargo update` (tgstation#138)

* `cargo update`

* update `const-random` to 0.1.15
(nothingburger change)

* Update the url packages (percent-encoding and url)
(still nothingburger)

* dashmap to 5.4

* rayon to 1.7

* Stop using deprecated chrono func (would panic)

* run `cargo update` again
apparently a lot of things did some releases

* put the once_cell version to 1.17

for some reason i missed it, ooops

* 2.0.1 (tgstation#139)

* add uniform precision to rust-g timestamp (tgstation#141)

* add precision to rust-g timestamp

* coping

* adds rustg_dmi_icon_states (tgstation#140)

* 2.1.0 (tgstation#143)

* Make mysql use the native rust tls stack by default (tgstation#144)

* 3.0.0 (tgstation#147)

* Some routine updates for 3.0.0 (tgstation#152)

routine package maintenance and upgrades - i went through the breaking changes and didn't see anything that looked like it affected us, only additions to public apis really

* Use gitoxide rather than libgit2 for the git module (tgstation#156)

* Adds Base64 decoding stuff (tgstation#154)

* More routine updates (tgstation#157)

* Updates `rustg_file_exists()` macro to remove user error (tgstation#158)

* Last little bit of updates (tgstation#159)

* v3.1.0 (tgstation#161)

* pathfinder: fix typo in rustg_remove_node_astar (tgstation#162)

* pathfinder: stringify args expecting numbers (tgstation#163)

* Re-add all features release builds

* Label linux builds

* IconForge

Start blending

Huge cleanup

Finish optimizing the thing

Finish the thing!!

Clean up a bit

Re-add 32-bit thing

Fix TOML sorting

Add dmsrc

Fix clippy suggestions

Clippy.. stop being mean

Cargo fmt + doc comments

Code cleanup

More cleanup, remove most unsafe unwrap()s, use Match syntax.

Remove unneccesarily verbose casting

Fix overlay blending

Cleanup with new DMI version

Cargo fmt

Leaf test, DynamicImage->RgbaImage, better Error handling, DashMap, and cleanup command

Fix

Further tree optimizations, hashing optimization, cache icostrings more effectively.

Optimize unique_icons insertion a little

Fix macro

Little more cleanup

Add to README

Update dmi, add caching logic.

Address reviews

Cleanup panic unwind

Fix lint failure

---------

Co-authored-by: Zephyr <[email protected]>
Co-authored-by: oranges <[email protected]>
Co-authored-by: ZeWaka <[email protected]>
Co-authored-by: DTraitor <[email protected]>
Co-authored-by: silicons <[email protected]>
Co-authored-by: Lucy <[email protected]>
Co-authored-by: AffectedArc07 <[email protected]>
Co-authored-by: Kapu1178 <[email protected]>
Co-authored-by: vvvv-vvvv <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Fix
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Redis list operation support
4 participants