springcloud:快速上手定时任务框架xxl-job(十五)
全部标签 我有一个Rails应用程序,我在其中使用delayed_job。我想检测我是否在delayed_job进程中;像ifin_delayed_job?#dosomethingonlyifitisadelayed_jobprocess...else#dosomethingonlyifitisnotadelayed_jobprocess...end但是我不知道怎么办。这是我现在使用的:IN_DELAYED_JOB=beginbasename=File.basename$0arguments=$*rake_args_regex=/\Ajobs:/(basename=='delayed_job')
生产环境的物理架构包括多台机器执行不同的工作(rake任务),所有这些机器都在同一个数据库上。如果其他作业正在运行,其中一个作业会对表执行大型UPDATE,这通常会返回postgres死锁。我已经有一个rake任务来优雅地停止其他作业,但我只能从本地机器上执行它。我想实现的是:task:big_update=>:environmentdostop_tasks_on_another_servers#dotheSQLUPDATE...endstop_tasks_on_another_servers应该在其他服务器上执行rake任务。我最好的尝试是使用https://github.com/c
我正在寻找在Heroku中运行超长任务的最佳方法。我将RubyOnRails用于我的Web应用程序,我有一个很长的任务,我想在每周日的晚上运行它。大约需要15~20分钟。我已经有Rufus-Scheduler,但我不确定这是最有效的解决方案。我还找到了关于BackgroundingTasksinHeroku的信息与DelayedJob.但这是处理它的最佳方式吗?谢谢。 最佳答案 这是我每晚运行的工作所使用的:https://devcenter.heroku.com/articles/scheduler如果您的作业配置为rake任务,
我正在使用whenever为Rails应用程序安排任务。我有这样的任务:every24.hoursdocommand"do_this"rake"do_that"end我的观点是,当我将它写入我的crontab时,只要使用-w,我就会看到它生成两个同时运行的独立任务。问题是,两者在逻辑上都是一个序列,这意味着rake任务“do_that”应该在命令“do_this”已经成功运行时运行。我试图像命令“do_this”&&rake“do_that”一样联系两者,但我收到了语法错误。是否存在任何技巧可以在任何时候创建任务之间的这种依赖关系?crontab是同时、并行地执行作业,还是处理队列中同
堆栈:Apache2rails2.3.8红帽Linuxruby企业版1.8.7在我的应用程序用户的crontab中获得了以下rake任务,这意味着每15分钟将记录拉入数据库表中:*/15****app_usercd/var/www/apps/my_app/current/&&rakething:do_stuffRAILS_ENV=production我可以在cron日志中看到cron守护进程正在运行这个任务,但是它应该将记录拉入的数据库表没有改变。当我在/var/www/apps/my_app/current目录中手动运行该任务时,该任务运行正常,没有出现错误,并按照我的预期将记录拉入
我正在尝试在Rails3.0.9(使用RVM)中使用crontab运行Rake任务,但它不起作用。但是当我在控制台中运行时它工作正常我的佣金任务namespace:alertdodesc"createsomeremindernotification"task:send_reminder=>:environmentdop"mytaskgoeshere----"endend我的定时任务*/1****cd/home/anu-karthik/Documents/billguru/&&/home/anu-karthik/.rvm/gems/ruby-1.9.2-p0/bin/rakealert:
*我想在我的Sinatra应用程序中运行一个自定义Rake任务,但我总是rake中止!不知道如何构建任务“问候”。这是用于测试目的的自定义Rake任务(greet.rake):task:greetdoputs"Hello!"end我已将greet.rake放在./lib/tasks(Rails)中。我猜Rake找不到文件的正确目录。如何让自定义Rake任务在Sinatra中运行?我正在使用Ruby2.0.0和Sinatra1.4.4。更新Rakefile现在看起来像这样:require"./app"require"sinatra/activerecord/rake"require"./
我无法记录来自delayed_job进程的消息。这是正在运行的作业。classMyJobdefinitialize(blahblah)@blahblah=blahblah@logger=Logger.new(File.join(Rails.root,'log','delayed_job.log'))enddefperform@logger.addLogger::INFO,"loggingfromdelayed_job"#dostuffendend我尝试了各种日志记录级别,并且在我的环境配置中有config.log_level=:debug。我从monit运行delayed_job。我将
我在我的Rails4应用程序中使用resque和resque_scheduler。我的应用程序正在为resque提供一些工作,但工作人员没有在处理这些工作。reque-web显示没有失败。我已经通过运行开始resqueworkerQUEUE=kqueuerakeenvironmentresque:work我的rails控制台2.0.0p353:006>Resque.info=>{:pending=>0,:processed=>0,:queues=>0,:workers=>1,:working=>0,:failed=>0,:servers=>["redis://localhost:637
我正在尝试使用pry-rescue在rake任务中。像这样:bundleexecrescuerakemy:task但是当异常发生时(undefinedmethod...)它就像正常一样存在。如何在我的rake任务中使用pry-rescue? 最佳答案 您是否尝试过将任务主体包裹在救援block中?task'my_task'doPry.rescue{things.that_need_doing}end 关于ruby-在rake任务中使用pry-rescue?,我们在StackOverflo