コード例 #1
0
ファイル: flow_scheduler.py プロジェクト: tomclement/eums
def schedule_run_for(node):
    current_run = node.current_run()
    if current_run:
        _cancel_run(current_run)

    run_delay = _calculate_delay(node)
    if Run.current_run_for_node(node):
        RunQueue.enqueue(node, run_delay)
    else:
        contact = node.build_contact()
        task = _schedule_run.apply_async(args=[node.id], countdown=run_delay)
        Run.objects.create(scheduled_message_task_id=task.id, node=node,
                               status=Run.STATUS.scheduled, phone=contact['phone'])
コード例 #2
0
ファイル: test_run.py プロジェクト: tomclement/eums
    def test_should_get_none_when_current_run_is_called_for_a_consignee_with_no_runs_scheduled(self):
        RunFactory(node=self.node, status=Run.STATUS.expired)
        RunFactory(node=self.node, status=Run.STATUS.completed)

        self.assertEqual(Run.current_run_for_node(self.node), None)
コード例 #3
0
ファイル: test_run.py プロジェクト: tomclement/eums
    def test_should_get_current_run_for_consignee_with_run_with_status_scheduled(self):
        run = RunFactory(node=self.node)

        self.assertEqual(Run.current_run_for_node(self.node), run)