Comments (2)
To test queue solution, we need stress testing tool. I'm using k6
, written in Golang
, supports JS scripts to test.
Installation (mac)
brew install k6
Project structure
folder
├── appreciation.js
├── payout.js
├── payto.js
└── shared.js
You can download scripts from here:
Run scripts
Please follow the instruction in each scripts to setup, and then run the script with k6
. Like this:
k6 run appreciation.js
k6 run payout.js
k6 run payto.js
Verify result
Appreciation
After rounds of execution, you should see each user can only have 5 appreciations to the article.
Payout
After execution, you should see user's HKD balance is always >= 0 by running SQL:
select sum("src"."amount") as "amount" from (
select
sum(amount) as amount
from
"transaction"
where
recipient_id = ${id} and currency = 'HKD' and state = 'succeeded'
union
select
sum((0 - amount)) as amount
from
"transaction"
where
sender_id = ${id} and currency = 'HKD' and (state = 'succeeded' or state = 'pending')
) as src
and list transactions:
select * from "transaction" where "sender_id" = ${id} or "recipient_id" = ${id} order by created_at desc
Pay-to
After running script, you should see users's HKD balance is always >= 0, and transactions might be succeeded
or canceled
by running SQL queries above.
from matters-server.
Implemented with #1115 and #1165
from matters-server.
Related Issues (20)
- Design article versioning API HOT 1
- Implement article versioning APIs HOT 1
- Design Line Pay Integration HOT 1
- Implement Line Pay Integration HOT 1
- Allow logged-in user donate with any wallet address on USDT donation HOT 1
- retire search $version
- cache issue on tag detail HOT 1
- Revise page limit of newest feed
- Review article <=> draft tables & redesign HOT 1
- Add corresponding article version to comment and donation records HOT 1
- More audit logs
- Design & impl API for featured feed curation HOT 1
- ignore charge.refund.updated event if refund.status is not failed
- Retire IPFS publishing on matters-server
- Allow plus sign email users to login
- Implementation for article / comment report
- Revise Comment API to filter out archived comments
- Add audit logs for new article detail
- Change API for loosen article revision limit
- Change APIs for pinned comment
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from matters-server.