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 process_state = "00"'
- + ' and locked_by is NULL',
- function (error, results, fields) {
- var messages = [];
- try {
- for (var i = 0;i < results.length;i++) {
- // コールバック地獄・・・
- conn.query(
- 'UPDATE `t_state_store` SET locked_by = "01",process_state = "01",complete_by = DATE_ADD(NOW(),INTERVAL 1 MINUTE)'
- + ' where task_id = ' + results[i].task_id,
- function (error, results, fields) {
- if(error) throw error;
- }
- )
- context.log('query start');
- var message = {
- "taskId": results[i].task_id,
- "userId": results[i].user_id,
- "taskBody": results[i].task_body
- }
- context.log(results[i].task_body);
- messages.push(message);
- }
- } catch (e) {
- context.log(e);
- throw e;
- } finally {
- context.log("close");
- conn.end();
- }
- context.bindings.outputQueueItem = messages;
- context.done();
- }
- )
- };
Add Comment
Please, Sign In to add comment