summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2021-08-11Durable requeue algo. Update AMQP and Beanstalk tests to use mockValery Piashchynski
logger. Fix bugs discovered during testing. Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-11Increase timeout to 60s.Valery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-11Replace all 'localhost' with '127.0.0.1'. Fix default configuration andValery Piashchynski
other small bugs. Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-09Update goridge to v3.2.0, update all frames operations.Valery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-02Update CI, move all tests to the single source of truth - makefileValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-01Rework vec based on the channel. Use select statement with the defaultValery Piashchynski
branch to handle dead workers inside the channel. Update docker-compose.yaml used for the tests. Update rabbitmq to 3.9.1. Replace third-party amqp091 with the official implementation. Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-27Initial support for the cancellation via contextValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-24Mooore constants :)Valery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-24Remove unused codeValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-24Uniform push to pipelines in the durability testsValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-24Beanstalk initial durability testValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-23Fix AMQP toxicValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-23SQS initial durability testValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-23Add AMQP initial durability testValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-23Tests refactoringValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-23Use zap logger in AMQP tests instead of mocked (temporarly)Valery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-23SQS configuration and tests updateValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-23Remove time.Now() from beanstalk tube declarationValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-23Update beanstalk options. Fix tube priority (correctly pass to the PutValery Piashchynski
method). Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-23Remove completed TODOs from the beanstalk driver.Valery Piashchynski
Rename pipeline_size -> prefetch for the ephemeral driver. Limit number of active goroutines (delay's) to 1000. Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-22Initial tests for all driversValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-22LintersValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-22Fix AMQP bugs, add more amqp testsValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-22BC for the Pool, worker interfaces, pass/return payload by pointerValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-22Update consumers, tests stabilizationValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-22Reduce tests timeoutValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-22Update beanstalk redial algo.Valery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-21Fix AMQP context, add ID, job, other fields.Valery Piashchynski
Fix sqs queue re-creation. Complete redia for the beanstalk. Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-20Beanstalk driver alpha version ready.Valery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-19Worker watcher interface update.Valery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-18Started beanstalk driver. Add new Queue impl (not finished yet).Valery Piashchynski
Fix bugs in the AMQP, update proto-api Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-15Remove duplicated loggingValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-14Update SQS item.Valery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-14Merge remote-tracking branch 'origin/master' into feature/jobs_pluginValery Piashchynski
# Conflicts: # pkg/worker_watcher/interface.go
2021-07-14Fix TTL issue, added explanation comments.Valery Piashchynski
The worker after it executed the request, may overwrite the TTL state. This inconsistency leads to the +1 worker in the FIFO channel. In this state, the Push operation was blocked. Add RR_BROADCAST_PATH. Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-14Implement Pause/Resume/StopValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-14SQS driver.Valery Piashchynski
Fix isssues in the AMQP driver. Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-12Add JOBS tests to the Makefile and GitHub CI.Valery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-11Dead letter exchange optimization. Cache for the DLX queues. If theValery Piashchynski
queue had been declared and binded to the particular timeout, we can avoid re-declaring the queue. This optimization increases RPS to the DLX from 3.5k to 35k. Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-11Update informer interface to return slice of pointers (do not over-copyValery Piashchynski
the Stat structure). Make amqp Push concurrent safe. Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-10Return structure instead of interface in places where that possibleValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-10Properly parse amqp items (jobs).Valery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-10AMQP job driver...Valery Piashchynski
Update main driver's interface, add Consume(*pipeline) method. Implement it on the amqp and ephemeral drivers. Fix error with incorrect order of Register <-> Consume method calls. Implement rabbitMQ driver, add timeouts, dead-letter-exchange, packing-unpacking of the amqp messages. Implement AMQP redialer in case of network error as well as channels re-creation. Update drawio diagram. Update .rr.yaml jobs configuration, add all amqp options. Implement Ack/Nack. Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-08AMQP update...Valery Piashchynski
Add redialer, consumer, rabbit queues initializer. Update configuration (.rr.yaml). Add ack/nack for the jobs main plugin with error handling. Add Qos, queues bining and declaration. Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-08Add pipeline and job plugin options...Valery Piashchynski
Skeleton for the amqp plugin. Add Timeout and Pipeline to the job.Context() method. Implement queue limits for the ephemeral driver with main priority queue limits. Update configuration, add pipeline_size for every pipeline and jobs priority queue size. Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-07New Methods in the binary heap interface...Valery Piashchynski
Add Len() method to the Binary Heaps interface with implementation. Start consumers only for the user-defined set from the config. Add Headers field to the proto Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-07Rework test env...Valery Piashchynski
Move all dockerfiles, docker-compose files into the env folder inside the tests folder. Add elasticmq dockerfile to build SQS compatible test env. Add beanstalk, rabbitmq, sqs to the main tests docker-compose file. Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-06Rework ephemeral and binary heapsValery Piashchynski
Implemented a sync.Cond for binary heap algo to save processor from spinning in the for loop and receiving nil Items until the Queue will be filled. Add num_pollers option to the configuration to specify number of pollers from the queue. Add Resume, ResumeAll, Stop, StopAll, PushBatch methods to the ephemeral. Remove map and use sync.Map in the ephemeral broker. Add protobuf schema. Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-05- Update PQValery Piashchynski
- Update ephemeral plugin, complete Push - Add Jobs full configuration Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-01- Remove DispatcherValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>