Skip to content

Instantly share code, notes, and snippets.

@izidorome
Forked from ssaunier/sidekiq.config
Created July 25, 2019 22:22
Show Gist options
  • Select an option

  • Save izidorome/d683980fa567fcd10c4fd433161eb3f6 to your computer and use it in GitHub Desktop.

Select an option

Save izidorome/d683980fa567fcd10c4fd433161eb3f6 to your computer and use it in GitHub Desktop.

Revisions

  1. @ssaunier ssaunier created this gist Sep 24, 2015.
    66 changes: 66 additions & 0 deletions sidekiq.config
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,66 @@
    # Sidekiq interaction and startup script
    commands:
    create_post_dir:
    command: "mkdir -p /opt/elasticbeanstalk/hooks/appdeploy/post"
    ignoreErrors: true
    files:
    "/opt/elasticbeanstalk/hooks/appdeploy/post/50_restart_sidekiq.sh":
    mode: "000755"
    owner: root
    group: root
    content: |
    #!/usr/bin/env bash
    . /opt/elasticbeanstalk/support/envvars

    EB_APP_DEPLOY_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k app_deploy_dir)
    EB_APP_PID_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k app_pid_dir)
    EB_APP_USER=$(/opt/elasticbeanstalk/bin/get-config container -k app_user)
    EB_SCRIPT_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k script_dir)
    EB_SUPPORT_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k support_dir)

    . $EB_SUPPORT_DIR/envvars
    . $EB_SCRIPT_DIR/use-app-ruby.sh

    SIDEKIQ_PID=$EB_APP_PID_DIR/sidekiq.pid
    SIDEKIQ_CONFIG=$EB_APP_DEPLOY_DIR/config/sidekiq.yml
    SIDEKIQ_LOG=$EB_APP_DEPLOY_DIR/log/sidekiq.log

    cd $EB_APP_DEPLOY_DIR

    if [ -f $SIDEKIQ_PID ]
    then
    su -s /bin/bash -c "kill -TERM `cat $SIDEKIQ_PID`" $EB_APP_USER
    su -s /bin/bash -c "rm -rf $SIDEKIQ_PID" $EB_APP_USER
    fi

    . /opt/elasticbeanstalk/support/envvars.d/sysenv

    sleep 10

    su -s /bin/bash -c "bundle exec sidekiq \
    -e $RACK_ENV \
    -P $SIDEKIQ_PID \
    -C $SIDEKIQ_CONFIG \
    -L $SIDEKIQ_LOG \
    -d" $EB_APP_USER

    "/opt/elasticbeanstalk/hooks/appdeploy/pre/03_mute_sidekiq.sh":
    mode: "000755"
    owner: root
    group: root
    content: |
    #!/usr/bin/env bash
    . /opt/elasticbeanstalk/support/envvars

    EB_APP_USER=$(/opt/elasticbeanstalk/bin/get-config container -k app_user)
    EB_SCRIPT_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k script_dir)
    EB_SUPPORT_DIR=$(/opt/elasticbeanstalk/bin/get-config container -k support_dir)

    . $EB_SUPPORT_DIR/envvars
    . $EB_SCRIPT_DIR/use-app-ruby.sh

    SIDEKIQ_PID=$EB_APP_PID_DIR/sidekiq.pid
    if [ -f $SIDEKIQ_PID ]
    then
    su -s /bin/bash -c "kill -USR1 `cat $SIDEKIQ_PID`" $EB_APP_USER
    fi