Compare commits
No commits in common. "cb19bc990da6e3de64ebf3c6017916ec7653d72a" and "def8d28c3bb1d00f58c4e9c0e1f903bb99b1d146" have entirely different histories.
cb19bc990d
...
def8d28c3b
|
|
@ -1,12 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
|
|
||||||
<data-source source="LOCAL" name="development.sqlite3" uuid="d3ab71a5-ebb0-4573-9e48-bc4bd013b015">
|
|
||||||
<driver-ref>sqlite.xerial</driver-ref>
|
|
||||||
<synchronize>true</synchronize>
|
|
||||||
<jdbc-driver>org.sqlite.JDBC</jdbc-driver>
|
|
||||||
<jdbc-url>jdbc:sqlite:$PROJECT_DIR$/storage/development.sqlite3</jdbc-url>
|
|
||||||
<working-dir>$ProjectFileDir$</working-dir>
|
|
||||||
</data-source>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="SqlDialectMappings">
|
|
||||||
<file url="file://$PROJECT_DIR$/app/controllers/schedules_controller.rb" dialect="GenericSQL" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
|
|
@ -30,14 +30,6 @@ class SchedulesController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def reset
|
|
||||||
Schedule.delete_all
|
|
||||||
ActiveRecord::Base.connection.execute("DELETE FROM sqlite_sequence WHERE name='schedules'")
|
|
||||||
Rails.application.load_seed
|
|
||||||
|
|
||||||
redirect_to schedules_path, notice: "스케줄이 초기화되었습니다."
|
|
||||||
end
|
|
||||||
|
|
||||||
def schedule_edit
|
def schedule_edit
|
||||||
@schedule = Schedule.order(:hour, :minute)
|
@schedule = Schedule.order(:hour, :minute)
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,10 @@ module Modbus
|
||||||
class PollingService
|
class PollingService
|
||||||
class << self
|
class << self
|
||||||
def start
|
def start
|
||||||
return if @scheduler
|
return if defined?(@scheduler) && @scheduler.jobs.any?
|
||||||
|
|
||||||
puts "[#{Time.now}] Modbus polling service 시작됨 (Rufus)"
|
puts "[#{Time.current}] Modbus polling service 시작됨 (Rufus)"
|
||||||
@scheduler ||= Rufus::Scheduler.new
|
@scheduler = Rufus::Scheduler.new
|
||||||
|
|
||||||
@scheduler.cron "0 * * * * *" do
|
@scheduler.cron "0 * * * * *" do
|
||||||
now = Time.now
|
now = Time.now
|
||||||
|
|
@ -22,15 +22,14 @@ module Modbus
|
||||||
def stop
|
def stop
|
||||||
if defined?(@scheduler)
|
if defined?(@scheduler)
|
||||||
@scheduler.shutdown(:kill)
|
@scheduler.shutdown(:kill)
|
||||||
@scheduler = nil
|
puts "[#{Time.current}] Modbus polling service 중지됨"
|
||||||
puts "[#{Time.now}] Modbus polling service 중지됨"
|
|
||||||
else
|
else
|
||||||
puts "[#{Time.now}] Scheduler 인스턴스 없음"
|
puts "[#{Time.current}] Scheduler 인스턴스 없음"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def running?
|
def running?
|
||||||
@scheduler
|
defined?(@scheduler) && @scheduler.jobs.any?
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
@ -52,7 +51,7 @@ module Modbus
|
||||||
if system("ruby", path.to_s, arg)
|
if system("ruby", path.to_s, arg)
|
||||||
puts success_msg
|
puts success_msg
|
||||||
else
|
else
|
||||||
puts "[#{Time.now}] #{file} 실행 실패 (args: #{arg})"
|
puts "[#{Time.current}] #{file} 실행 실패 (args: #{arg})"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -39,15 +39,9 @@
|
||||||
<%= submit_tag "업데이트", class: "btn bg-primary" %>
|
<%= submit_tag "업데이트", class: "btn bg-primary" %>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
<div class="flex p-4">
|
|
||||||
<%= button_to "초기화", reset_schedules_path,
|
|
||||||
method: :post,
|
|
||||||
data: { turbo_confirm: "정말 초기화하시겠습니까? 모든 스케줄 데이터가 삭제됩니다." },
|
|
||||||
class: "btn bg-danger" %>
|
|
||||||
</div>
|
|
||||||
<div class="flex p-4">
|
<div class="flex p-4">
|
||||||
<%= button_to "추가하기", open_modals_path(type: "add_schedule"),
|
<%= button_to "추가하기", open_modals_path(type: "add_schedule"),
|
||||||
class: "btn bg-default-slate",
|
class: "btn btn-default",
|
||||||
data: {
|
data: {
|
||||||
turbo_method: :post,
|
turbo_method: :post,
|
||||||
turbo_frame: "modals"
|
turbo_frame: "modals"
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,6 @@ Rails.application.routes.draw do
|
||||||
|
|
||||||
resources :schedules do
|
resources :schedules do
|
||||||
collection do
|
collection do
|
||||||
post "reset"
|
|
||||||
get "schedule_edit"
|
get "schedule_edit"
|
||||||
post "schedule_edit_update"
|
post "schedule_edit_update"
|
||||||
end
|
end
|
||||||
|
|
@ -25,6 +24,8 @@ Rails.application.routes.draw do
|
||||||
collection do
|
collection do
|
||||||
post "start"
|
post "start"
|
||||||
post "stop"
|
post "stop"
|
||||||
|
get "schedule_edit"
|
||||||
|
post "schedule_edit_update"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue