redash icon indicating copy to clipboard operation
redash copied to clipboard

Update every 1 minute does not work fine

Open nrukavkov opened this issue 2 years ago • 1 comments

Hello. Please help me to solve problem. I can't understand why Queries with Refresh Schedule 1 minute or 5 minutes is never executed automatically. This are no errors in logs.

http://redash/admin/queries/jobs page shows Started Jobs = 0 and Queued Jobs = 0

My docker-compose.yaml

version: "2.2"
x-redash-service: &redash-service
  image: redash/redash:10.1.0.b50633
x-redash-environment: &redash-environment
  REDASH_LOG_LEVEL: "INFO"
  REDASH_REDIS_URL: "redis://redis:6379/0"
  REDASH_DATABASE_URL: "postgresql://postgres@postgres/postgres"
  REDASH_RATELIMIT_ENABLED: "false"
  REDASH_ENFORCE_CSRF: "true"
  REDASH_HOST: "https://redash.myhost.com"
  REDASH_COOKIE_SECRET: "11111"
services:
  server:
    <<: *redash-service
    command: server
    depends_on:
      - postgres
      - redis
    ports:
      - "10.10.10.123:15000:5000"
      - "10.10.10.123:15678:5678"
    environment:
      <<: *redash-environment

  scheduler:
    <<: *redash-service
    command: worker
    depends_on:
      - server
    environment:
      <<: *redash-environment
      QUEUES: "celery"
      WORKER_COUNT: 1

  scheduled_worker:
    <<: *redash-service
    command: worker
    depends_on:
      - server
    environment:
      <<: *redash-environment
      #QUEUES: "scheduled_queries schemas"
      #WORKER_COUNT: 1

  adhoc_worker:
    <<: *redash-service
    command: worker
    depends_on:
      - server
    environment:
      <<: *redash-environment
      QUEUES: "queries"
      WORKER_COUNT: 2

  worker:
    <<: *redash-service
    command: worker
    depends_on:
      - server
    environment:
      <<: *redash-environment
      QUEUES: "periodic emails default"
      WORKER_COUNT: 1

  redis:
    image: redis:3-alpine
    restart: unless-stopped
  postgres:
    image: postgres:9.5-alpine
    ports:
      - "10.10.10.123:15432:5432"
    command: "postgres -c fsync=off -c full_page_writes=off -c synchronous_commit=OFF"
    restart: unless-stopped
    environment:
      POSTGRES_HOST_AUTH_METHOD: "trust"
    volumes:
      - ./data/postgresql:/var/lib/postgresql/data

What did I wrong while configuring?

nrukavkov avatar May 13 '22 12:05 nrukavkov

Sorry to only now respond. The problem is you have many jobs running and not enough workers to handle them.

Your docker-compose.yml shows no workers are dedicated to running only scheduled queries. There is a worker called scheduled_worker, but you commented out the environment keys that tell it to only look at the scheduled_queries queue. Because of this, this worker will look at all the default queues.

This means that your scheduled query executions are mixed-in with all of Redash's other jobs. And without enough workers available, the short-interval scheduled queries simply fall behind.

susodapop avatar Jul 03 '22 16:07 susodapop

@nrukavkov Do you still need any help on this issue? If yes, then don't be afraid to open the issue for me

konnectr avatar Jul 18 '23 16:07 konnectr