Comments (2)
@wagnerpereira Thanks for raising this issue. GCP Cloud Tasks does not allow tasks to be scheduled more than 30 days in the future unfortunately. This limits Cron schedules to cron tasks every 30 days at most...
I believe the best approach here would be to propose another Cloudtasker cron extension leveraging GCP Cloud Scheduler (on top of the native Cloud Tasks implementation). See #20
In the meantime you can work around this limitation by configuring your job to run every day then add the following logic inside your job:
class MyMonthlyWorker
include Cloudtasker::Worker
def perform(*args)
# Abort unless we're the first of the month
return unless Time.current.day == 1
# ... job logic
end
end
It's not pretty but it's the best I can propose just now. I'll check if I can implement a workaround on the current task-based implementation. If I can't come up with something then I will prioritize the implementation of scheduler-based cron jobs as this issue is clearly a major one.
I have added a limitations section in the cron documentation to reflect that issue.
from cloudtasker.
Thanks @alachaum , it was exactly what we did to bypass until we find an elegant way to solve this google tasks limitation using cloud scheduler.
I would offer help to update the documentation but I saw you already did. Thanks again.
🙌
from cloudtasker.
Related Issues (20)
- SSL on Cloudtasker Local Server
- Question: configure processor_host via environment variable HOT 5
- Batch callback that fires only when all children complete successfully
- Odd error on boot HOT 3
- default isn't the only default queue if using active job HOT 1
- TypeError: wrong argument type Symbol (expected String) HOT 6
- ActionController::InvalidAuthenticityToken for Cloudtasker::WorkerController#run HOT 11
- Inconsistent executions count with ActiveJob.retry_on HOT 7
- Configure a specific processor_host for Cloudtasker::Cron::Schedule HOT 3
- grpc cannot be used before and after forking with `deliver_later` HOT 5
- Remove `google-gax` dependency. HOT 3
- Post-install message from google-gax HOT 4
- Cloudtasker::Cron::Schedule trying to access wrong project and queue - not respecting initializer configuration HOT 4
- [Question/docs] How is the GCP project id retrieved when running on GCP? HOT 3
- Make Queue Prefix not necessary HOT 1
- Question: What would be the best way to push thousands of jobs at once? HOT 2
- Getting a cryptic error on boot HOT 3
- Force the job_id for ActiveJob
- Protobuf serialization errors: ArgumentError (Value 600 must be a Hash or a Google::Protobuf::Duration) HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cloudtasker.