dyn-task 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/bin/dynTask +18 -0
  3. data/lib/dyn-tasks.rb +45 -0
  4. metadata +67 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 57f9cd89c251270b7a798e46b51ee1893afc484ea2ee9a784a64c78abf0d85cd
4
+ data.tar.gz: dc7e037b03c2e42af02e305e2ed11ce413bc4017675ad33869baded5413e6b8b
5
+ SHA512:
6
+ metadata.gz: c7dbd5346b5e415ed0c137e217daef7399afb6194c46dc6a49409963f47bfd8669d10978b3dcb300209322dbfa49dd47203ec5d79c84b7eb5bbc246de6e47932
7
+ data.tar.gz: 241193f153e39bf88eced20853bdc519381f47b47eab4a62e8a355df287bc72dc2598b6d7ddae27f1ee7e9485458ebb2e1a853dbb249881edec759100c2c5124
data/bin/dynTask ADDED
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env ruby
2
+ require 'dyn-tasks'
3
+
4
+ if ["--no-forever","--no-daemon"].include? ARGV[0]
5
+ cfg={}
6
+ cfg[:dyntasks_root]=ARGV[1] if ARGV[1]
7
+ DynTasks::filewatcher(cfg)
8
+ else
9
+ require 'daemons'
10
+ require 'fileutils'
11
+
12
+ dir_pids=File.join(DynTasks.home,"pids")
13
+ FileUtils.mkdir_p dir_pids
14
+ Daemons.run_proc('dyn-task',{dir: dir_pids}) do
15
+ DynTasks::filewatcher
16
+ end
17
+
18
+ end
data/lib/dyn-tasks.rb ADDED
@@ -0,0 +1,45 @@
1
+ require 'filewatcher'
2
+ #if RUBY_VERSION >= "2.4"
3
+ class FileWatcher < Filewatcher
4
+ end
5
+ #end
6
+
7
+
8
+ module DynTasks
9
+
10
+ def DynTasks.home
11
+ dyntask_home = File.join(ENV['HOME'],'dyntask')
12
+ dyntask_home = File.read(File.join(ENV['HOME'],'.dyntask_home')).strip if File.exist? File.join(ENV['HOME'],'.dyntask_home')
13
+ dyntask_home = File.expand_path(dyntask_home)
14
+ #puts "dyntask_home: "+ dyntask_home
15
+ dyntask_home
16
+ end
17
+
18
+ def DynTasks.home=(value)
19
+ File.open(File.join(ENV['HOME'],'.dyntask_home'),"w") do |f|
20
+ f << value.strip
21
+ end
22
+ end
23
+
24
+
25
+ def DynTasks.filewatcher(cfg={}) #cfg
26
+
27
+ dyntasks_root= File.join(DynTasks.home, "reactzone")
28
+ FileUtils.mkdir_p dyntasks_root
29
+
30
+ puts "watching tasks inside "+ dyntasks_root
31
+ ::FileWatcher.new(dyntasks_root).watch() do |filename, event|
32
+ ##DEBUG:
33
+ puts filename + "->" + event.to_s+"\n"
34
+ if [:changed,:updated,:new].include? event
35
+ case File.extname(filename)
36
+ when ".rb"
37
+ system("/usr/bin/env ruby "+filename)
38
+ when ".sh"
39
+ system("/usr/bin/env bash "+filename)
40
+ end
41
+
42
+ end
43
+ end
44
+ end
45
+ end
metadata ADDED
@@ -0,0 +1,67 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dyn-task
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - RCqls
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-01-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: filewatcher
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.0.1
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.0'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.0.1
33
+ description: " Dynamic tasks system.\n"
34
+ email: rdrouilh@gmail.com
35
+ executables:
36
+ - dynTask
37
+ extensions: []
38
+ extra_rdoc_files: []
39
+ files:
40
+ - bin/dynTask
41
+ - lib/dyn-tasks.rb
42
+ homepage: http://cqls.upmf-grenoble.fr
43
+ licenses:
44
+ - MIT
45
+ - GPL-2.0
46
+ metadata: {}
47
+ post_install_message:
48
+ rdoc_options: []
49
+ require_paths:
50
+ - lib
51
+ required_ruby_version: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ required_rubygems_version: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ requirements:
62
+ - none
63
+ rubygems_version: 3.4.5
64
+ signing_key:
65
+ specification_version: 4
66
+ summary: Minimal dynamic task system
67
+ test_files: []