Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const mysql = require('mysql2');
- const fs = require('fs');
- module.exports = function (context, myTimer) {
- var timeStamp = new Date().toISOString();
- if(myTimer.isPastDue)
- {
- context.log('JavaScript is running late!');
- }
- context.log('JavaScript timer trigger function ran!:', timeStamp);
- var conn = mysql.createConnection(
- {host: process.env['MYSQL_HOST'],
- user: process.env['MYSQL_USER'],
- password: process.env['MYSQL_SECRET'],
- database: process.env['MYSQL_DB'],
- port: 3306,
- ssl:{ca:fs.readFileSync(process.env['MYSQL_CA'])}
- }
- );
- conn.query(
- 'SELECT * FROM `t_state_store` where failure_count < 4 and (process_state = "03" or complete_by > NOW())',
- function (error, results, fields) {
- var messages = [];
- try {
- for (var i = 0;i < results.length;i++) {
- // コールバック地獄・・・
- conn.query(
- 'UPDATE `t_state_store` SET locked_by = NULL,complete_by = NULL,process_state = "00",failure_count = failure_count + 1'
- + ' where task_id = ' + results[i].task_id,
- function (error, results, fields) {
- if(error) throw error;
- }
- )
- }
- } catch (e) {
- context.log(e);
- throw e;
- } finally {
- context.log("close");
- conn.end();
- }
- context.done();
- }
- )
- };
Add Comment
Please, Sign In to add comment