所以这是我的代码行
public function getVisitedCountriesCountAttribute()
{
$this->dispatch(new CalculateTotalCountriesVisited($this));
return $this->total_countries;
}
Run Code Online (Sandbox Code Playgroud)
这里的调度方法抛出一个错误说
Call to undefined method Illuminate\Database\Query\Builder::dispatch() (View: /Users/mereeva/sites/rdb-ws/resources/views/users/trips/status.blade.php)
Run Code Online (Sandbox Code Playgroud)
我似乎不明白这背后的原因是什么。我遵循了https://laravel.com/docs/5.1/queues中的所有步骤
任何帮助将不胜感激。谢谢
我希望允许任何人触发我在 Rundeck 中创建的作业。我无法从 API 文档中理解如何做到这一点。
任何人都知道,并且可以给出简单的例子(我对这个主题的理解很少甚至没有)?
我发现的是这样的: POST /api/1/job/[ID]/run
我有一个每 10 分钟运行一次的 cronjob。因此,每 10 分钟就会创建一个新的 Pod。一天后,我有很多已完成的 pod(不是作业,只有一个 cronjob 存在)。有没有办法自动摆脱它们?
我想知道如果 kubernetes 作业失败是否可以使用 yaml 配置发送通知?
例如,我有一个每天运行一次的 kubetnetes 作业。现在我一直在运行詹金斯作业来检查作业失败时发送通知。如果失败,我们是否有任何选项可以直接从 kubernetes 作业获取通知?它应该类似于我们在 job yaml 中添加的内容
我的 laravel 队列系统有问题。出于性能目的,我们使用 laravel 排队系统和 amazons SQS 进行更繁重的计算。这至少对于我们的大多数工作来说都有效。其中一些原始计算时间约为 25 秒,在“处理”状态下持续阻塞队列 6 分钟。
handle我们确实记录了作业的完整功能,并且输出在任何时候都是正确的。事实上,最后一条日志语句(函数结束)是在进入函数后 20 秒打印的。数据按预期计算,数据库已更新,但作业仍处于“处理中”状态。
在我们故意在句柄函数末尾使作业崩溃后,计算的数据被完美存储,但显然队列也崩溃了。所以我想这一定是在处理函数之后发生的事情。也许有分配内存的东西?
队列的配置是默认的 sqs 驱动配置:
'sqs' => array(
'driver' => 'sqs',
'key' => env('AWS_KEY', 'secret'),
'secret' => env('AWS_SECRET', 'secret'),
'queue' => env('AWS_SQS_QUEUE', 'secret'),
'region' => env('AWS_SQS_REGION', 'secret'),
),
Run Code Online (Sandbox Code Playgroud)
编辑:我发现它不仅是队列,而且当我作为命令执行作业时,会出现相同的行为:
我打印“完成”。作为命令中的最后一个语句,在打印该语句后,控制台会暂停几秒钟,然后再返回到控制台输入。
当我注释掉最多查询的部分时,问题就消失了,就像我使用的查询越多,我必须等待控制台的时间就越多。
我希望你们中的任何人都知道导致此行为的原因以及我们如何解决它。
提前致谢
我的网络应用程序有大量作业,除了一个之外,所有作业都运行良好。
我需要这个特定的工作存活很长一段时间,整整一个小时,3600秒,如果超过时间就会失败,并且不要重试。
我试图在我的工作中设置这个属性
public $timeout = 3600;
public $retryAfter = 4000;
public $tries = 1;
Run Code Online (Sandbox Code Playgroud)
我发现失败后这个特定的作业永远不会重试,而且没关系。
但超时和/或 retryAfter 会被忽略。几分钟后,作业将被标记为失败。
我究竟做错了什么?另外,请问 timeout 和 retryAFtrer 有什么区别?!?
我的队列由主管管理,如下所示:
[program:projectname-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/appdemo.projectname.com/artisan queue:work redis --sleep=3 --tries=3
autostart=true
autorestart=true
user=www-data
numprocs=1
redirect_stderr=true
stdout_logfile=/var/www/appdemo.projectname.com/storage/logs/laravel_worker.log
Run Code Online (Sandbox Code Playgroud)
这是 Lararavel 文档中建议的配置。
我在用
Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64)
Developer Edition (64-bit) on Windows Server 2016 Standard 10.0 <X64> (Build 14393: )
Run Code Online (Sandbox Code Playgroud)
我最近所做的事情是创建一个从路径动态恢复数据库的作业,运行它并禁用它。
之后,当我尝试添加新步骤时,出现此错误:
该系统找不到指定的文件
我在 SQL Server 日志中找不到任何错误。
我能够使用 T-SQL 创建作业并运行它们。
关于堆栈溢出的其他类似问题与我的问题无关。
为什么我突然收到这个错误?
这是从管理工作室复制的错误:
该系统找不到指定的文件。
计划地点:
在 Microsoft.SqlServer.Dts.Runtime.Application.get_LogProviderInfos()
在 Microsoft.DataTransformationServices.DTSExecUI.Controls.LoggingCtrl..ctor(IDTSExecViewManager treePanel)
在 Microsoft.SqlServer.Management.SqlManagerUI.DTSJobSubSystemDefinition.InitializeControls()
在 Microsoft.SqlServer。 Management.SqlManagerUI.DTSJobSubSystemDefinition..ctor(CDataContainer dataContainer,IMessageBoxProvider messageProvider)
在 Microsoft.SqlServer.Management.SqlManagerUI.JobStepSubSystems.CreateJobStepSubSystemSsis(AgentSubSystem agentSubSystem,CDataContainer dataContainer,JobStepData 数据,IMessageBoxProvider messageProvider)
在 Microsoft.SqlServer.Management.SqlManagerUI.JobStepSubSystems .CreateJobStepSubSystem(AgentSubSystem agentSubSystem,CDataContainer dataContainer,JobStepData数据,IMessageBoxProvider messageProvider,IServiceProvider serviceProvider)
在Microsoft.SqlServer.Management.SqlManagerUI.JobStepSubSystems ..ctor(CDataContainer dataContainer,JobStepData数据,IMessageBoxProvider messageProvider,IServiceProvider serviceProvider)
在 Microsoft.SqlServer.Management.SqlManagerUI.JobStepProperties.get_SubSystems() 在 Microsoft.SqlServer.Management.SqlManagerUI.JobStepProperties.FilterStepCombo(DatabaseEngineEdition engineEdition) 在 Microsoft.SqlServer.Management.SqlManagerUI.JobStepProperties.InitializeStepCombo() 在 Microsoft.SqlServer.Management .SqlManagerUI.JobStepProperties.InitializeData() 在 Microsoft.SqlServer.Management.SqlManagerUI.JobStepProperties.OnInitialization() 在 …
我明白当使用以下语法直接上传到 Cloudinary 并将文件夹名称作为参数传递时,这是如何下降的。
Cloudinary::Uploader.upload("sample.jpg", :use_filename => true, :folder => "folder1/folder2")
Run Code Online (Sandbox Code Playgroud)
但是,我正在使用 ActiveStorage,当我以上述方式上传照片时,它不会附加到我的Post模型或以任何方式与我的应用程序关联。
我正在使用以下代码附加图像
post.send(:images).attach io: StringIO.new(new_data), filename: blob.filename.to_s,
content_type: 'image'
Run Code Online (Sandbox Code Playgroud)
它不接受指定文件夹的参数。我已尽力阅读 ActiveStorage 和 Cloudinary 文档,试图找到一种方法来完成这项工作,但是,我似乎无法弄清楚。
我已经看到设置自定义文件夹标头可能是使其工作的一种方法,但再次无法弄清楚如何为下面发生的上述代码设置自定义标头job。
require 'tmpdir'
require 'fileutils'
require 'open-uri'
class ResizeImagesJob < ApplicationJob
queue_as :default
def perform(post)
post.images.each do |image|
blob = image.blob
blob.open do |temp_file|
path = temp_file.path
pipeline = ImageProcessing::MiniMagick.source(path)
.resize_to_limit(1200, 1200)
.call(destination: path)
new_data = File.binread(path)
post.send(:images).attach io: StringIO.new(new_data), filename: blob.filename.to_s,
content_type: 'image'
end
image.purge_later
end
end
end
Run Code Online (Sandbox Code Playgroud)
上述工作正在做的是等到帖子创建后,然后调整照片大小并将照片重新附加到帖子以及删除原始照片。我采用这种方法是为了避免上传后直接在 Cloudinary …
jobs ruby-on-rails http-headers cloudinary rails-activestorage
我刚刚开始探索 Rails 中的 rake 任务和 cronjobs。我对它们之间的比较以及在哪种情况下对你来说是什么感到困惑。据我所知,后台作业是在应用程序运行时生成的,而任务是我们通过命令行运行的。假设我们正在使用 cronjob 创建用户记录,我们可以通过后台作业以及简单任务来完成此操作。始终感谢您分享知识!
我想问一下除了IDE之外是否有更有效的方法来运行多个转换(70个转换)?使用IDE方式可以,但是单击所有选项卡和隐藏选项卡也很麻烦.
我做的是我尝试使用pan.bat命令并将其放在一个bat文件中.bat文件看起来像这样:
cd <to dest of kitchen.bat>
pan.bat <mytransformation 1>
pan.bat <mytransformation 2>
pan.bat <mytransformation 3>
pan.bat <mytransformation 4>
Run Code Online (Sandbox Code Playgroud)
但它只适用于第一次转换然后退出.我做错了什么或者我有什么选择从脚本运行多重转换
jobs ×10
cron ×2
kubernetes ×2
laravel ×2
api ×1
batch-file ×1
cloudinary ×1
http-headers ×1
kettle ×1
laravel-5 ×1
laravel-6 ×1
pentaho ×1
queue ×1
rest ×1
ruby ×1
rundeck ×1
sql-server ×1
yaml ×1