Add Queue Publisher - #6
Conversation
Implemented a `Publisher` in `pkg/queue` that allows Go applications to dispatch jobs compatible with Laravel's queue system. - Uses `php_serialize` to construct the PHP serialized command payload. - Creates a `LaravelJob` JSON payload with correct structure. - Supports dispatching to default or specific queues. - Updated `go.mod` to include `github.com/google/uuid`.
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
- Added `Publisher` in `pkg/queue` to dispatch Laravel-compatible jobs. - Refactored `pkg/console` to allow injecting `Driver` and `FailedJobProvider` into `queue:work` command. - Updated `cmd/worker/main.go` to demonstrate configuration injection. - Ensured `LaravelJob` payload structure uses `json.RawMessage` for correct JSON embedding.
- Added `Publisher` in `pkg/queue` to dispatch Laravel-compatible jobs. - Refactored `pkg/console` to allow injecting `Driver` and `FailedJobProvider` into `queue:work` command. - Updated `cmd/worker/main.go` to demonstrate configuration injection and custom command registration. - Ensured `LaravelJob` payload structure uses `json.RawMessage` for correct JSON embedding.
- Added `Publisher` in `pkg/queue` to dispatch Laravel-compatible jobs using `php_serialize`. - Refactored `pkg/console` to allow injecting `Driver` and `FailedJobProvider` into `queue:work` command. - Updated `cmd/worker/main.go` to demonstrate configuration injection and custom command registration. - Added `.github/workflows/release.yml` using `release-please` for automated semantic versioning. - Ensured `LaravelJob` payload structure uses `json.RawMessage`.
- Implemented `pkg/config` to load Laravel-style `.env` configuration. - Added `pkg/database` factory for MySQL and PostgreSQL connections. - Added `pkg/cache` adapters for Redis, Memcached, and Database. - Updated `pkg/console` to auto-configure `queue:work` driver based on config. - Implemented `pkg/queue` Publisher for dispatching Laravel jobs. - Added SQS driver support. - Configured CI release workflow.
|
[DEPRECATED] Release Please Action - please use https://github.com/googleapis/release-please-action |
Acknowledged. I will update the action to use |
- Implemented `pkg/config` to load Laravel-style `.env` configuration. - Added `pkg/database` factory for MySQL and PostgreSQL connections. - Added `pkg/cache` adapters for Redis, Memcached, and Database. - Updated `pkg/console` to auto-configure `queue:work` driver based on config. - Implemented `pkg/queue` Publisher for dispatching Laravel jobs. - Added SQS driver support. - Configured CI release workflow. - Updated database driver tests to match new config structure. - Fixed Postgres compatibility in database cache store.
- Implemented `pkg/config` to load Laravel-style `.env` configuration. - Added `pkg/database` factory for MySQL and PostgreSQL connections. - Added `pkg/cache` adapters for Redis, Memcached, and Database. - Updated `pkg/console` to auto-configure `queue:work` driver based on config. - Implemented `pkg/queue` Publisher for dispatching Laravel jobs. - Added SQS driver support. - Configured CI release workflow. - Updated database driver tests to match new config structure. - Fixed Postgres compatibility in database cache store. - Fixed linter errors in cache and worker packages.
- Implemented `pkg/config` to load Laravel-style `.env` configuration. - Added `pkg/database` factory for MySQL and PostgreSQL connections. - Added `pkg/cache` adapters for Redis, Memcached, and Database. - Updated `pkg/console` to auto-configure `queue:work` driver based on config. - Implemented `pkg/queue` Publisher for dispatching Laravel jobs. - Added SQS driver support. - Configured CI release workflow using `googleapis/release-please-action`. - Updated database driver tests to match new config structure. - Fixed linter errors in cache and worker packages. - Added example usage in `cmd/worker/main.go`.
- Implemented `pkg/config` to load Laravel-style `.env` configuration. - Added `pkg/database` factory for MySQL and PostgreSQL connections. - Added `pkg/cache` adapters for Redis, Memcached, and Database. - Updated `pkg/console` to auto-configure `queue:work` driver based on config. - Implemented `pkg/queue` Publisher for dispatching Laravel jobs. - Added SQS driver support. - Configured CI release workflow using `googleapis/release-please-action`. - Updated database driver tests to match new config structure. - Fixed linter errors in cache and worker packages. - Added documentation for registering job handlers in `docs/register_jobs.md`. - Updated README.md to reference new docs. - Added example usage in `cmd/worker/main.go`.
- Implemented `pkg/config` to load Laravel-style `.env` configuration. - Added `pkg/database` factory for MySQL and PostgreSQL connections. - Added `pkg/cache` adapters for Redis, Memcached, and Database. - Updated `pkg/console` to auto-configure `queue:work` driver based on config. - Implemented `pkg/queue` Publisher for dispatching Laravel jobs. - Added SQS driver support. - Configured CI release workflow using `googleapis/release-please-action`. - Updated database driver tests to match new config structure. - Fixed linter errors in cache and worker packages. - Added documentation for registering job handlers in `docs/register_jobs.md` and logging in `docs/logging.md`. - Updated README.md to reference new docs. - Added example usage in `cmd/worker/main.go`.
…bility - Implemented `pkg/config` to load Laravel-style `.env` configuration. - Added `pkg/database` factory for MySQL and PostgreSQL connections. - Added `pkg/cache` adapters for Redis, Memcached, and Database. - Updated `pkg/console` to auto-configure `queue:work` driver based on config. - Implemented `pkg/queue` Publisher for dispatching Laravel jobs. - Added SQS driver support. - Configured CI release workflow using `googleapis/release-please-action`. - Updated database driver tests to match new config structure. - Fixed linter errors in cache and worker packages. - Enhanced telemetry with `service` (application name) and `command` in structured logs. - Added documentation for registering job handlers (`docs/register_jobs.md`) and logging (`docs/logging.md`). - Added example usage in `cmd/worker/main.go`.
|
not enough arguments in call to NewWorker |
Fixed the |
…bility - Implemented `pkg/config` to load Laravel-style `.env` configuration. - Added `pkg/database` factory for MySQL and PostgreSQL connections. - Added `pkg/cache` adapters for Redis, Memcached, and Database. - Updated `pkg/console` to auto-configure `queue:work` driver based on config. - Implemented `pkg/queue` Publisher for dispatching Laravel jobs. - Added SQS driver support. - Configured CI release workflow using `googleapis/release-please-action`. - Updated database driver tests to match new config structure. - Fixed linter errors in cache and worker packages. - Enhanced telemetry with `service` (application name) and `command` in structured logs. - Added documentation for registering job handlers (`docs/register_jobs.md`) and logging (`docs/logging.md`). - Added example usage in `cmd/worker/main.go`. - Fixed potential nil panic in worker config loading. - Updated `NewWorker` calls in documentation and tests.
|
in kernal schdule currently redis lock is supported. add database_lock also if database is postgresql use postgresql lock. also implment queue:work like for schedule:run and user can register command to be schdule to it (external apps). also add usees doc for it similar like queue doc. |
Implemented |
…ced observability - Implemented `pkg/config` to load Laravel-style `.env` configuration. - Added `pkg/database` factory for MySQL and PostgreSQL connections. - Added `pkg/cache` adapters for Redis, Memcached, and Database. - Updated `pkg/console` to auto-configure `queue:work` driver based on config. - Implemented `pkg/queue` Publisher for dispatching Laravel jobs. - Added SQS driver support. - Configured CI release workflow using `googleapis/release-please-action`. - Updated database driver tests to match new config structure. - Fixed linter errors in cache and worker packages. - Enhanced telemetry with `service` (application name) and `command` in structured logs. - Added documentation for registering job handlers (`docs/register_jobs.md`) and logging (`docs/logging.md`). - Added scheduler with `schedule:run` command and database locking support (`pkg/schedule/database_lock.go`). - Added scheduler documentation (`docs/scheduler.md`). - Added example usage in `cmd/worker/main.go`. - Fixed potential nil panic in worker config loading. - Updated `NewWorker` calls in documentation and tests.
Added a Publisher struct to
pkg/queueto enable dispatching Laravel-compatible jobs from Go. This includes generating the correct JSON payload and serializing job properties into a PHP-serialized string. Verified with unit tests.PR created automatically by Jules for task 13572187248206151659 started by @ngoyal16