Skip to content

Pause worker during deployment and cache-warmup possible? #66

Open
@mrimann

Description

@mrimann

In a larger Neos installation we've seen multiple occasions of the following rough workflow with the result of having a log of Exception-/Stack-Trace files being generated - and detected by our monitoring, causing an alert to check the health of this particular installation due to "too many Exception Files".

  • normal operation, something causes things to end up in the job-queue (mostly re-indexing content)
  • the worker is picking up one task after the other without problems
  • then someone deploys a new version of the application (Surf deployment to new directory, not interfering yet)
  • at the end, Surf switches to the new release directory, with cold caches
  • caches are built up either by the deployment pipeline (CLI flow:cache:warmup call), by an HTTPS request from the outside, or from the queue-worker (also CLI)
  • If the worker has a lot to do, this results in many Exceptions thrown in a short period of time when it tries to do it's work, wile the application is "locked" due to the caches being warmed up.

So, I think I know how to work around this. And this issue is not about complaining. But while thinking around this issue, I thought it might be cool to have an option to like "pause" the worker.

Something like either a CLI command queueworker:pause and queueworker:unpause that would e.g. just write/remove a temporary file and while that file is around the worker just takes a break (e.g. does not fetch tasks from the queue to work on).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions