{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":351918690,"defaultBranch":"master","name":"mel","ownerLogin":"GrottoPress","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-03-26T21:41:29.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/23522181?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1713284703.0","currentOid":""},"activityList":{"items":[{"before":"5af470af8b21a89fd42c0cc3723459f51c367a57","after":"f033d0fb87a66f2b315c0b38e6ec5a676be6e071","ref":"refs/heads/master","pushedAt":"2024-04-16T16:25:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"b4a7b2f707a615e41851770afeef1d10aa850eed","after":"5af470af8b21a89fd42c0cc3723459f51c367a57","ref":"refs/heads/master","pushedAt":"2024-04-16T16:14:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Upgrade `GrottoPress/pond` shard to v2.0","shortMessageHtmlLink":"Upgrade GrottoPress/pond shard to v2.0"}},{"before":"673a7648b6102d9b122abc03e9b66b6e30f32d7f","after":"b4a7b2f707a615e41851770afeef1d10aa850eed","ref":"refs/heads/master","pushedAt":"2024-02-21T12:38:40.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"f49d8bd4a737c4c90d6011bbbff3c3e2cf5006b5","after":"673a7648b6102d9b122abc03e9b66b6e30f32d7f","ref":"refs/heads/master","pushedAt":"2024-02-20T18:43:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Change default task `retries` to `[2, 4, 8, 16, 32]`","shortMessageHtmlLink":"Change default task retries to [2, 4, 8, 16, 32]"}},{"before":"f1135cfffc7e0e22852a93473175ef123a0b15d6","after":"f49d8bd4a737c4c90d6011bbbff3c3e2cf5006b5","ref":"refs/heads/master","pushedAt":"2024-02-14T16:02:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"f4ac28213050f7983ea2da5461cc430dd6db3c55","after":"f1135cfffc7e0e22852a93473175ef123a0b15d6","ref":"refs/heads/master","pushedAt":"2024-02-14T15:56:15.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Reduce CPU load\n\n`Fiber.yield` sleeps for 0 seconds. When used in a loop, this,\neffectively, maxes out CPU if there are no other resumable fibers.","shortMessageHtmlLink":"Reduce CPU load"}},{"before":"2214d233299cfefc55afa1f32ebd46111ecc9862","after":"f4ac28213050f7983ea2da5461cc430dd6db3c55","ref":"refs/heads/master","pushedAt":"2023-12-07T17:50:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"fcc32ee8fa42915519b7cee29024fffd447fc1a7","after":"2214d233299cfefc55afa1f32ebd46111ecc9862","ref":"refs/heads/master","pushedAt":"2023-12-06T13:34:17.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Add `from:` parameter to `Mel::Job::On#run_on` methods\n\nThis is used to specify the time relative to which the first run\noccurs.","shortMessageHtmlLink":"Add from: parameter to Mel::Job::On#run_on methods"}},{"before":"62881262a0ed97ce40ccf25f3288d4f7f90b380e","after":"fcc32ee8fa42915519b7cee29024fffd447fc1a7","ref":"refs/heads/master","pushedAt":"2023-12-04T14:35:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"6f1e87c306e94ddd05edcc56d60ff6f85c501879","after":"62881262a0ed97ce40ccf25f3288d4f7f90b380e","ref":"refs/heads/master","pushedAt":"2023-12-04T08:34:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Set task run time earlier\n\nRelated to commit 406b83e982cb766871e125b237e4ee3a1e9daef3.","shortMessageHtmlLink":"Set task run time earlier"}},{"before":"406b83e982cb766871e125b237e4ee3a1e9daef3","after":"6f1e87c306e94ddd05edcc56d60ff6f85c501879","ref":"refs/heads/master","pushedAt":"2023-12-03T20:59:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Prefer setter method call to instance method mutation","shortMessageHtmlLink":"Prefer setter method call to instance method mutation"}},{"before":"0aef83274e9a107db9d05b8a1df108c92a350b8c","after":"406b83e982cb766871e125b237e4ee3a1e9daef3","ref":"refs/heads/master","pushedAt":"2023-12-03T20:23:50.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Skip missed schedules\n\nThis is to avoid running tasks multiple times on next schedule.","shortMessageHtmlLink":"Skip missed schedules"}},{"before":"76473c3fc1d16f9174acc426a068938b925d54c5","after":"0aef83274e9a107db9d05b8a1df108c92a350b8c","ref":"refs/heads/master","pushedAt":"2023-12-02T21:48:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"0b3718997e2f2b990b2e25845e6c540ef96a439d","after":"76473c3fc1d16f9174acc426a068938b925d54c5","ref":"refs/heads/master","pushedAt":"2023-12-02T21:46:00.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Fix wrong ordering of logs during task run","shortMessageHtmlLink":"Fix wrong ordering of logs during task run"}},{"before":"323cd1888e04c7891c1525848a880c4564e5d039","after":"0b3718997e2f2b990b2e25845e6c540ef96a439d","ref":"refs/heads/master","pushedAt":"2023-12-01T17:59:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"cc71be0e991d1d8560d9b25c3dab5a77eff6e8de","after":"323cd1888e04c7891c1525848a880c4564e5d039","ref":"refs/heads/master","pushedAt":"2023-12-01T17:57:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Revert default `.poll_interval` to 3 seconds\n\nThis reverts commit 994ea02fb67ab7b98b23e7a87ef2b0a77b0a1b05.","shortMessageHtmlLink":"Revert default .poll_interval to 3 seconds"}},{"before":"268488149e1862faab7d1689d4759d9373236ca6","after":"cc71be0e991d1d8560d9b25c3dab5a77eff6e8de","ref":"refs/heads/master","pushedAt":"2023-11-30T22:21:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Redo \"Fix concurrency bug\"\n\nThis improves upon commit ed549074d7a3fd7d3ebca8bf3c7163b93c321b4b,\nreducing the number of queries significantly.\n\nThe prvevious attempt required a lot of queries, particularly to\nrename keys when moving tasks to pending queues. This commit\nreverts all that, and solves the original problem using Lua scripting.","shortMessageHtmlLink":"Redo \"Fix concurrency bug\""}},{"before":"8dec8952fb9de6321be4a820531105658b5761aa","after":"268488149e1862faab7d1689d4759d9373236ca6","ref":"refs/heads/master","pushedAt":"2023-11-29T23:25:17.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Refactor method","shortMessageHtmlLink":"Refactor method"}},{"before":"ed549074d7a3fd7d3ebca8bf3c7163b93c321b4b","after":"8dec8952fb9de6321be4a820531105658b5761aa","ref":"refs/heads/master","pushedAt":"2023-11-28T22:23:31.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Move public method up","shortMessageHtmlLink":"Move public method up"}},{"before":"8c78947aceb9ee09e90f46e783a9192067d1e516","after":"ed549074d7a3fd7d3ebca8bf3c7163b93c321b4b","ref":"refs/heads/master","pushedAt":"2023-11-28T21:18:34.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Fix concurrency bug\n\nA task could be ran multiple times, once by each worker, if multiple\nworkers fetched due tasks from the sorted set before the first\nworker moves the task to *pending*.\n\nThis is because reads from the sorted set and moves to *pending*\nwere not atomic. They could not be, because we needed the due task IDs\nfirst before we could move to *pending*.\n\nThis commit adds a separate queue for pending tasks, so the first\nworker that moves tasks to the pending queue ensures subsequent\nworkers do not have access to the tasks at all.","shortMessageHtmlLink":"Fix concurrency bug"}},{"before":"357d2268d2641bebc0125f5f6867076685371264","after":"8c78947aceb9ee09e90f46e783a9192067d1e516","ref":"refs/heads/master","pushedAt":"2023-11-26T17:52:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Convert `Mel::Task` module to an `abstract class`\n\nOne may now call query methods on `Mel::RecurringTask`,\neg: `Mel::RecurringTask.find(-1)`.","shortMessageHtmlLink":"Convert Mel::Task module to an abstract class"}},{"before":"8da50f095077094f0c45addb29c1d3153511503b","after":"357d2268d2641bebc0125f5f6867076685371264","ref":"refs/heads/master","pushedAt":"2023-11-25T18:02:57.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Reduce type of retries in seconds to `Int32`","shortMessageHtmlLink":"Reduce type of retries in seconds to Int32"}},{"before":"c688e59b0443fefd62000a73a037e7e932ffc1c2","after":"8da50f095077094f0c45addb29c1d3153511503b","ref":"refs/heads/master","pushedAt":"2023-11-25T12:05:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Refactor method\n\nFor performance purposes; `#map` may return an array in some cases,\nin which case calling `#to_a` does no allocation.","shortMessageHtmlLink":"Refactor method"}},{"before":"f09717269c8af58d094040a51a22e8d3837a5a4e","after":"c688e59b0443fefd62000a73a037e7e932ffc1c2","ref":"refs/heads/master","pushedAt":"2023-11-25T00:02:19.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Add support for backoffs in retries","shortMessageHtmlLink":"Add support for backoffs in retries"}},{"before":"42e162412f8da3fc1e3782ca82d219b347f2b5b9","after":"f09717269c8af58d094040a51a22e8d3837a5a4e","ref":"refs/heads/master","pushedAt":"2023-10-09T21:41:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"7bc31fa0ecab8e9aa06b6b149c54f346591f1185","after":"42e162412f8da3fc1e3782ca82d219b347f2b5b9","ref":"refs/heads/master","pushedAt":"2023-10-09T19:49:53.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Disambiguate overloaded methods","shortMessageHtmlLink":"Disambiguate overloaded methods"}},{"before":"44b6963e83d9cfbe461b52b1901d4d5d061646e6","after":"7bc31fa0ecab8e9aa06b6b149c54f346591f1185","ref":"refs/heads/master","pushedAt":"2023-10-02T22:20:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Add missing callback parameters","shortMessageHtmlLink":"Add missing callback parameters"}},{"before":"fdd1cf4d071b4eb0bd326b733c408ad587e6b910","after":"44b6963e83d9cfbe461b52b1901d4d5d061646e6","ref":"refs/heads/master","pushedAt":"2023-09-30T22:24:52.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Ensure `Mel::Progress::Query#get` methods return the expected type","shortMessageHtmlLink":"Ensure Mel::Progress::Query#get methods return the expected type"}},{"before":"d1794daee1564d276774ec21915ea7dae05691c1","after":"fdd1cf4d071b4eb0bd326b733c408ad587e6b910","ref":"refs/heads/master","pushedAt":"2023-09-30T18:08:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Bump version","shortMessageHtmlLink":"Bump version"}},{"before":"1debb5624b5cd76433f086eeae4d6618555a4d21","after":"d1794daee1564d276774ec21915ea7dae05691c1","ref":"refs/heads/master","pushedAt":"2023-09-30T18:04:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"akadusei","name":"n atta kusi adusei","path":"/akadusei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10501389?s=80&v=4"},"commit":{"message":"Remove `redis` parameter from all redis `get` methods\n\nWe care about the return type and value(s) in such methods.\n`Redis::Commands#run` argument may return different types/values\ndepending on whether its a pipeline or transaction or direct\nquery.\n\nDoing something similar in an app of mine resulted in a compile\nerror:\n\n```\nError: undefined method 'first?' for Int64 (compile-time type is (Array(Redis::Value) | Int64 | Redis::Future | String | Nil))\n```","shortMessageHtmlLink":"Remove redis parameter from all redis get methods"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEMjooOQA","startCursor":null,"endCursor":null}},"title":"Activity ยท GrottoPress/mel"}