skedjewel
Version, currently 2.1.141 versions
- 2.1.1latestApr 12, 2025
- 2.1.0not indexedAug 10, 2026
- 2.0.0not indexedAug 10, 2026
- 1.1.0not indexedAug 10, 2026
- 1.0.0not indexedAug 10, 2026
- 0.0.18not indexedAug 10, 2026
- 0.0.17not indexedAug 10, 2026
- 0.0.16not indexedAug 10, 2026
- 0.0.15not indexedAug 10, 2026
- 0.0.14not indexedAug 10, 2026
- 0.0.13not indexedAug 10, 2026
- 0.0.12not indexedAug 10, 2026
- 0.0.11not indexedAug 10, 2026
- 0.0.10not indexedAug 10, 2026
- 0.0.9not indexedAug 10, 2026
- 0.0.8not indexedAug 10, 2026
- 0.0.7not indexedAug 10, 2026
- 0.0.7.alpha6not indexedAug 10, 2026
- 0.0.7.alpha5not indexedAug 10, 2026
- 0.0.7.alpha4not indexedAug 10, 2026
- 0.0.7.alpha3not indexedAug 10, 2026
- 0.0.7.alpha2not indexedAug 10, 2026
- 0.0.7.alpha1not indexedAug 10, 2026
- 0.0.6not indexedAug 10, 2026
- 0.0.6.alpha2not indexedAug 10, 2026
- 0.0.6.alpha1not indexedAug 10, 2026
- 0.0.5not indexedAug 10, 2026
- 0.0.4not indexedAug 10, 2026
- 0.0.4.alpha5not indexedAug 10, 2026
- 0.0.4.alpha4not indexedAug 10, 2026
- 0.0.4.alpha3not indexedAug 10, 2026
- 0.0.4.alpha2not indexedAug 10, 2026
- 0.0.4.alpha1not indexedAug 10, 2026
- 0.0.3not indexedAug 10, 2026
- 0.0.2not indexedAug 10, 2026
- 0.0.1not indexedAug 10, 2026
- 0.0.1.alpha5not indexedAug 10, 2026
- 0.0.1.alpha-4not indexedAug 10, 2026
- 0.0.1.alpha-3not indexedAug 10, 2026
- 0.0.1.alpha-2not indexedAug 10, 2026
- 0.0.1.alphanot indexedAug 10, 2026
github.com/davidrunger/skedjewel
Schedule Sidekiq jobs
Installation
# Add this to your shard.yml
dependencies:
skedjewel:
github: davidrunger/skedjewel
version: ~> 2.1.1Then run:
shards installshard.yml
- Crystal
- no constraint declared
- License
- MIT
- Target
skedjewelfrom exe/skedjewel.cr
Dependencies
Runtime Dependencies
- redis*github: stefanwille/crystal-redis
- memoization*github: davidrunger/memoization
Development Dependencies
- spectator*gitlab: arctic-fox/spectatordev
README
Skedjewel
A scheduled Sidekiq job runner written in Crystal.
Usage
Create a file at config/skedjewel.yml specifying the desired jobs schedule and other
configuration.
Example:
# config/skedjewel.yml
config:
app_redis_db: 0
sidekiq_redis_db: 1
time_zone: America/Chicago
jobs_by_rails_env:
all:
DataMonitors::Launcher: '**:07' # hourly at 7 minutes after
TruncateTables: '**:**' # every minute
production:
CheckLinks::LaunchPageFetches: '04:16' # daily at 4:16am in configured time zone
CollectRedisMetrics: '**:%5' # every 5 minutes
PgHero::CaptureQueryStats: '**:%10+2' # every 10 minutes, with an offset of 2 (2, 12, 22, ...)
PgHero::CaptureQueryStats: '%2:07' # every 2 hours at 7 minutes after the hour
PgHero::CaptureQueryStats: '%2+1:56' # every 2 hours (in odd hours) at 56 minutes after the hour
You can print the Skedjewel version:
$ skedjewel --version
Installation
Start by adding something like this to your Procfile:
clock: bin/skedjewel
Now, you need to download the appropriate compiled binary and put it in the bin/ directory of your Rails app. Binaries are released only for Linux. The latest release binary is available here.
In development
On your development machine (if you are using Linux), you can manually download the appropriate binary and put it in the bin/ directory of your Rails project.
You'll also want to add /bin/skedjewel to your repository's .gitignore file.
In production
To use Skedjewel in production, you'll need to download the appropriate binary as part of your deploy process.
If you use Docker to build an image that can run Skedjewel, then you can add something like this to your Dockerfile:
# Download skedjewel binary.
ARG SKEDJEWEL_VERSION=v1.1.0
RUN curl --fail -L "https://github.com/davidrunger/skedjewel/releases/download/$SKEDJEWEL_VERSION/skedjewel-$SKEDJEWEL_VERSION-linux" > skedjewel && \
mkdir -p /app/bin && \
mv skedjewel /app/bin/ && \
chmod a+x /app/bin/skedjewel
Or, perhaps your deploy process invokes the assets:precompile rake task? If so, then you could enhance that rake task with the following:
# lib/tasks/assets.rake
Rake::Task['assets:precompile'].enhance do
# install skedjewel
bin_path = Rails.root.join('bin')
skedjewel_url =
'https://github.com/davidrunger/skedjewel/releases/download/v0.0.2/skedjewel-v0.0.2-linux'
system(<<~SH.squish, exception: true)
curl -L #{skedjewel_url} > skedjewel &&
mv skedjewel #{bin_path}/ &&
chmod a+x #{bin_path}/skedjewel
SH
end
Note that a Skedjewel version is hardcoded at two places in that URL. You'll update Skedjewel by updating those version numbers.
An easier-to-install alternative: Schedjewel
Schedjewel is a Ruby gem with very similar functionality. It's also maintained by me, @davidrunger.
Installing Schedjewel as a gem in your project is simpler than installing the Skedjewel binaries, so if you're looking for convenience and simplicity, you might consider using Schedjewel instead. The primary downside of using Schedjewel rather than Skedjewel is that Schedjewel (the Ruby gem) uses more memory.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/davidrunger/skedjewel.
License
This library is available as open source under the terms of the MIT License.
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
2.1.1- Tagged
- Apr 12, 2025
- Commit
70c0380fe952- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/davidrunger/skedjewel
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 14, 2026
- Synced
- Aug 14, 2026
- Versions
- 41