summaryrefslogtreecommitdiff
path: root/pkg
AgeCommit message (Collapse)Author
2021-08-31Naming: service -> pluginValery Piashchynski
Fix bug with survived workers in the debug mode Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-28Re-allocate a worker with allocate frequency (every 500ms per try)Valery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-28Reduce error check operationsValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-26Move drivers to the plugin's root.Valery Piashchynski
Fix #771, add tests. Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-18Increase exec timeout in the TestSupervisedPool_ExecWithDebugModeValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-18Add prometheus metrics for the jobs, update testsValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-17Update to go 1.17Valery Piashchynski
Add Stat with tests Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-15Update dockerfiles (use ubuntu instead of arch), replace heavyValery Piashchynski
memleak.php for the non-memory tests Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-15Timeout to prevent process is not ready errorValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-14Kill worker instead of stop while error occured.Valery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-14Wait for a second to prevent Process not ready errorValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-14Update broadcast tests, add redis flusing. Initial impl of the jobValery Piashchynski
drivers state. Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-13Add sleep timeout to the Test_StaticPool_JobErrorValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-13Add timeout to the Test_Tcp_StartError testValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-13Update go.mod dependencies to the most recent version.Valery Piashchynski
Fix tests according to the new mocks. Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-12Remove unneeded options, complete tests for the ephemeral, update protoValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
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-11Add headers support to the jobs protocolValery 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-10Add jobs protocol support for the AMQP driverValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-08-09Add initial support for the php worker protocol.Valery Piashchynski
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-03In a rare cases, when user set small timeout to allocate a worker,Valery Piashchynski
spawned goroutine might stuck on the channel send operation and leak memory. 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-23Remove time.Now() from beanstalk tube declarationValery 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-22Benchmark tests commentsValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-22Update Echo benchValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-22Update static_pool_batched testValery 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-19Worker watcher interface update.Valery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-18Remove channel from the QueueValery 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-14Merge masterValery 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-14SQS driver.Valery Piashchynski
Fix isssues in the AMQP driver. Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-12Update JOBS interface, remove List() method, implemented on the root RPCValery Piashchynski
level. AMQP consumer replace sync.Map with atomic.Value, because we associate only 1 pipeline with a driver. So, we can store pipeline in the atomic.Value. Implement events handler, add job events. Use job events to push information to the logger. Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-11Update JOBS interface, Renamed Consume -> Run.Valery Piashchynski
Add DYNAMIC declaration of the pipelines. Update Jobs constructor interface, add FromPipeline method to construct jobs driver (unique) via the `Declare` RPC call. Add `Stop` method to gracefully stop all consumers. Binary heaps `GetMax` to canonical `ExtractMin`. Other small improvements. 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-10Move interfaces to its consumersValery Piashchynski
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-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-08maxLen for the binary heaps should be more than 0Valery Piashchynski
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-08Unlock binary heaps max length in the consume-rate testValery Piashchynski
Signed-off-by: Valery Piashchynski <[email protected]>
2021-07-08Add length limiter for the binary heaps data structure. After max lengthValery Piashchynski
reached, insert operation will be blocked until all pending messages have been fully consumed. 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]>