Skip to content

Commit 7ac4cd4

Browse files
author
Sjoerd Tieleman
committed
Mark unknown state on restart. Use UTF8 for database. Allow host specification.
1 parent 731cc75 commit 7ac4cd4

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

lib/job.js

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ var JobUtils = {
2929
} else {
3030
JobUtils.sql = new Sequelize(config['database']['database'], config['database']['username'], config['database']['password'], {
3131
dialect: config['database']['dialect'],
32-
storage: config['database']['database']
32+
storage: config['database']['database'],
33+
host: config['database']['host']
3334
});
3435
}
3536
}
@@ -40,6 +41,19 @@ var JobUtils = {
4041
return JobUtils.pad((process.umask() ^ 0777).toString(8), '0', 4);
4142
},
4243

44+
markUnknownState: function(callback) {
45+
Job.findAll({ where: { status: StatusCodes.PROCESSING }}).success(function(result) {
46+
if (result.length > 0) {
47+
for (var job in result) {
48+
result[job].status = StatusCodes.UNKNOWN;
49+
result[job].message = "The transcoder quit unexpectedly or the database was unavailable for some period.";
50+
result[job].save();
51+
}
52+
}
53+
});
54+
callback(null);
55+
},
56+
4357
migrateDatabase: function(callback) {
4458
var migrator = JobUtils.getDatabase().getMigrator({path: __dirname + "/../migrations" });
4559
migrator.migrate().success(function() {
@@ -73,7 +87,13 @@ var Job = JobUtils.getDatabase().define('Job', {
7387
classMethods: {
7488
prepareDatabase: function(callback) {
7589
JobUtils.migrateDatabase(function (err) {
76-
err ? callback(err) : callback(null);
90+
if (err) {
91+
callback(err);
92+
} else {
93+
JobUtils.markUnknownState(function (err) {
94+
err ? callback(err) : callback(null);
95+
})
96+
}
7797
});
7898
},
7999
create: function(opts, callback, completeCallback) {

migrations/20130305100924-create-jobs.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ module.exports = {
1313
message: { type: DataTypes.TEXT, defaultValue: null },
1414
createdAt: DataTypes.DATE,
1515
updatedAt: DataTypes.DATE
16+
},
17+
{
18+
charset: 'utf8',
19+
collate: 'utf8_general_ci'
1620
}
1721
)
1822
migration.addIndex('jobs', ['internalId'])

0 commit comments

Comments
 (0)