如何解决如何在 MERN 应用程序上修复 Heroku H12 超时?
我发现这是 Stack Overflow 上的一个很常见的问题,在尝试了 Heroku 支持上的所有建议解决方案后,无济于事,我也会在这里发布我的问题。
我在尝试上传图像时首先遇到此错误,然后我注意到在某些端点上重新加载页面时会发生此错误,例如在 post 端点上,它在组件安装时获取用户的帖子。 在阅读了这个问题之后,似乎没有其他选择 tjen 来实现延迟作业或为创建超时错误的任务设置后台工作程序。我不知道如何实施后台工作,但我继续使用议程包来编辑工作。这就是我所做的:
upload-image.js
- 这是上传图片路由的控制器:
- 我将图像创建延迟了 15 秒
exports.uploadPhoto = (req,res) => {
const { file: { mimetype,filename,path },protocol } = req;
const url = `${protocol}://${req.get('host')}`;
User
.findById(req.params.userid)
.exec((error,user) => {
if (error || !user) return res.status(404).json({ message: error.message,});
agenda.define('image upload',{
priority: 'high',concurrency: 10
},job => {
user.photos.push(job.attrs._id);
user.save();
return res.status(201).json({
message: `Image created`,photoUrl: job.attrs.data.photo.photoUrl,});
});
const newPhoto = {
photo: {
mimetype,photoUrl: `${url}/${path}`,name: filename,},owner: user._id,};
agenda.start();
agenda.schedule('in 15 seconds','image upload',newPhoto);
});
};
它在开发中运行良好。但是在heroku上我仍然得到相同的H12 - 超时错误。我还能尝试避免或修复超时错误吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。